当前位置: 代码迷 >> Android >> 怎么在ListPreference中改变AlertDialog的文字大小
  详细解决方案

怎么在ListPreference中改变AlertDialog的文字大小

热度:37   发布时间:2016-04-28 06:49:52.0
如何在ListPreference中改变AlertDialog的文字大小?
我是先继承ListPreference类,重载onPrepareDialogBuilder方法,在里面改变AlertDialog,就像这样:

public class ListPreferenceEx extends ListPreference {
    public ListPreferenceEx(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    protected void onPrepareDialogBuilder(AlertDialog.Builder builder) {        
        super.onPrepareDialogBuilder(builder); // To change body of overridden
        builder.setNegativeButton(null, null);
        builder.setTitle(null);
    }
}


上面代码可以成功去掉builder的按钮和标题,但是那个list的文字大小怎样变呢,因为builder没有设置theme的函数,只能在构造时指定theme,我试了如下两种方法,都没有能达到效果:

1
protected void onPrepareDialogBuilder(AlertDialog.Builder builder) {        
builder = new AlertDialog.Builder(new ContextThemeWrapper(this.getContext(), R.style.ListDlgTheme));
super.onPrepareDialogBuilder(builder);
}


2
protected void onPrepareDialogBuilder(AlertDialog.Builder builder) {        
builder = new AlertDialog.Builder(new ContextThemeWrapper(this.getContext(), R.style.ListDlgTheme));
super.onPrepareDialogBuilder(builder);
}


求指点!!!!!!!!!
------解决方案--------------------
AlerDialog可以加载xml,自定义一个AlerDialog就行了,,,
  相关解决方案