2012-05-17 99 views
2

假设我有一个EditText和一个Button水平相邻。左边我们得到了EditText,右边是Button。Android xml:拉伸一个元素并将另一个水平包裹,彼此水平相邻

事情是,我想要按钮来包装它的内容,而EditText从屏幕左侧一直延伸到按钮。所以按钮尽可能小(取决于按钮文本)和EditText尽可能宽(取决于按钮的大小)

我不知道我是否错过了一个简单的技巧......但如何我完成了吗?

+0

是的,你错过了一个简单的把戏。你使用线性布局和权重 – keyser

+1

然后我的下一个问题是,我如何获得权重来使按钮的内容尽可能小? – Revolutionair

+0

没有重量,wrap_content?那么建议采用相对布局的解决方案也应该可行。也许这是与权重矫枉过正 – keyser

回答

3

您必须使用RelativeLayout,使Button对齐并将EditText设置为按钮的左侧。在那之后,EditText的fill_parent和Button的wrap_content会发挥魔力。

看下面的代码澄清了一切。

<RelativeLayout 
    android:id="@+id/RL1" 
    ... 
    android:orientation="horizontal" > 

     <EditText 
      android:layout_width="fill_parent" 
      ... 
      android:layout_toLeftOf="@+id/buttonRight" > 
     </EditText> 

     <Button 
      android:id="@+id/buttonRight" 
      android:layout_width="wrap_content" 
      ... 
      android:singleLine="true" 
      android:layout_alignParentRight="true"> 
     </Button> 

</RelativeLayout>