对话框首选项中的自定义视图

时间:2011-11-14 13:18:22

标签: android android-preferences android-dialog android-gui

如何在扩展的DialogPreference中设置自定义样式?

public class AboutDialog extends DialogPreference {
    public AboutDialog(Context oContext, AttributeSet attrs)
    {
        super(oContext,attrs);
            //there is no such a thing like setBackground(int res_id)...
    }
}

和xml

<com.pak1.pak.About
    android:key="key" android:title="@string/preferences_about"
    android:dialogTitle="@string/preferences_about_title"
    android:dialogIcon="@drawable/app_icon" android:negativeButtonText="@null"
    android:positiveButtonText="@string/ok" />

或者例如是否可以更改按钮的属性?

我有一个ok按钮,例如我想改变这个'ok'按钮的颜色,我该怎么做?

2 个答案:

答案 0 :(得分:5)

覆盖onCreateDialogView,并返回布局。

例如,参见Matthew Wiggins创建自定义DialogPreference的示例。

http://android.hlidskialf.com/blog/code/android-seekbar-preference

或者在stackoverflow

Android SeekBarPreference

答案 1 :(得分:0)

要设置DialogPreference的背景,您还可以使用方法

    DialogPreference.setDialogLayoutResource(R.layout.layout1);

和简单的颜色资源,通常在res/values/colors.xml内指定:

    <color name="red">#ffff0000</color>

通过android:background="@color/red"中的res/layout/layout1.xml参阅此资源。 (More info about setting a background