2012-02-18 140 views
1

我创建了一个包含2个按钮的自定义对话框构建器。平面布局的视图

根据对话框的设置,我可以选择使用Window.GONE完全隐藏其中一个按钮。

理想的情况是我希望发生的是: 1.如果只有一个按钮,然后用它填补了布局 2.如果有两个按钮,然后在布局与这些

分裂的空间同样

有没有可能做到这一点,而不必处理对话框的宽度,按钮的数量,然后手动设置大小? 我希望有可能会执行此

回答

2

好吧,这里是我会怎么做一个更合适的方法:

<LinearLayout layout_width:fill_parent layout_height:wrap_content> 

    <Button 
     layout_width=fill_parent 
     layout_height=wrap_content 
     layout_weight=1/> 
    <Button 
     layout_width=fill_parent 
     layout_height=wrap_content 
     layout_weight=1/> 
</LinearLayout> 

诀窍是把两个元素FILL_PARENT的宽度和1的权重如果他们都被抽出,他们每个人都会占据屏幕的一半。如果您使用View.Gone,其中一个将消失,另一个应占据所有空间。

+0

非常好,谢谢,我不知道重量属性 – DJ180 2012-02-18 16:14:22

+0

重量是一个有趣的属性,因为只要它们是相对的,你就可以做任何你想要的值。我喜欢整数,所以我从1开始,但如果两个权重都是.5或500,只要它们相同,就会得到相同的结果。 – edthethird 2012-02-18 18:12:18

1

是的cource把你的意见意味着按钮在线性布局和按钮按钮相等layout_weight将解决您的问题。