自定义android对话框,按钮大小相同

时间:2011-04-10 08:00:07

标签: android button dialog width

我已经编写了自己的计时器选择器,显示在自定义对话框中。我使用TableLayout和layout_weight =“1”来实现包含9个大小相等的Button和EditText小部件的网格模式(这部分工作正常)。在底部我希望Ok和Cancel按钮的宽度相同,占据对话框宽度的一半左右。我尝试了layout_width =“1”,但按钮尺寸不是相同的宽度,但它们足够接近。这并不是那么糟糕,除非屏幕处于横向方向时,按钮显示为左对齐,文本周围没有任何填充。有什么建议吗?

2 个答案:

答案 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