Пользовательский вид в настройках диалога

Как я могу настроить стиль в расширенном 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" />

или, например, можно ли изменить свойства кнопки?

У меня есть одна кнопка «ОК», и, например, я хочу изменить цвет этой кнопки «ОК», как мне это сделать?


person Lukap    schedule 14.11.2011    source источник


Ответы (2)


Вы переопределяете onCreateDialogView и возвращаете макет.

См., например, этот пример Мэтью Виггинса для создания пользовательского DialogPreference.

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

или здесь, в stackoverflow

Android SeekBarPreference

person arberg    schedule 11.01.2012

Чтобы установить фон DialogPreference, вы также можете использовать метод

    DialogPreference.setDialogLayoutResource(R.layout.layout1);

и простые цветовые ресурсы, указанные обычно внутри res/values/colors.xml:

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

Обратитесь к этому ресурсу через android:background="@color/red" в res/layout/layout1.xml. (Подробнее о настройке фона)

person naXa    schedule 22.08.2013