数字选择器与警报对话框像按钮

时间:2014-09-11 11:58:55

标签: java android dialog picker

我使用此代码创建了一个数字选择器 - Number Picker

但输出看起来像这样 -

enter image description here

但我希望它看起来像 -

enter image description here

我想显示图像中给出的取消和设置按钮。

但是当我尝试这段代码时,它显示错误 - 方法setButton(int,String,Dialog)未定义类型Dialog。

Dialog noPicker = new Dialog(MainActivity.this);
noPicker.setButton(Dialog.BUTTON_POSITIVE, "Ok", noPicker);
noPicker.setButton(Dialog.BUTTON_NEGATIVE, "Cancel", noPicker);

有关如何解决此问题的任何想法?

2 个答案:

答案 0 :(得分:0)

我们的想法是将按钮包裹成线性布局并将其放在底部。那么你需要平均加权按钮。代码必须与此类似:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <NumberPicker
        android:id="@+id/numberPicker1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="64dp" />

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentBottom="true"
        android:weightSum="2"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/button2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Cancel" />

        <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Set" />

    </LinearLayout>
</RelativeLayout>

答案 1 :(得分:0)

设置对话框的主题,它应该工作:下面的示例代码可能会有帮助

Dialog dialog=new Dialog(context, theme)

并在style.xml文件中定义主题。它会像:

<style name="DoneCancelBar" parent="android:Theme.Light">
    <item name="android:layout_width">match_parent</item>
    <item name="android:layout_height">match_parent</item>
    <item name="android:orientation">horizontal</item>
</style>