我已经编写了自己的计时器选择器,显示在自定义对话框中。我使用TableLayout和layout_weight =“1”来实现包含9个大小相等的Button和EditText小部件的网格模式(这部分工作正常)。在底部我希望Ok和Cancel按钮的宽度相同,占据对话框宽度的一半左右。我尝试了layout_width =“1”,但按钮尺寸不是相同的宽度,但它们足够接近。这并不是那么糟糕,除非屏幕处于横向方向时,按钮显示为左对齐,文本周围没有任何填充。有什么建议吗?
答案 0 :(得分:3)
麦克,
我的应用程序中有一些类似的内容,这里的代码可以为您提供所需内容,只需将其放在现有对话框中即可...
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ButtonGroup"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/DialogText"
android:orientation="horizontal">
<Button android:id="@+id/dialogOkButton"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/lblSet"/>
<Button android:id="@+id/dialogCancelButton"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/lblCancel"/>
</LinearLayout>
LinearLayout使其在父视图中延伸。请记住,您需要将其放置在布局中,因此LinearLayout在您的布局中。我有点累,很抱歉,如果我在散步:-P
答案 1 :(得分:1)
我通常做的类似于Jared提出的,但是在按钮上设置layout_width =“fill_parent”,并且layout_weight =“0.5”。如果您希望其中一个按钮比另一个更长,请将其权重设置为0.3,将另一个设置为0.7