Android AlertDialog未应用自定义主题

Android AlertDialog未应用自定义主题,android,android-alertdialog,Android,Android Alertdialog,我想增加警报对话框消息文本的文本大小,因此添加了以下样式: <?xml version="1.0" encoding="utf-8"?> <resources> <style name="AppTheme" parent="@android:style/Theme.Holo.Light.DarkActionBar"> <item name="android:actionBarStyle">@style/MainActionB

我想增加警报对话框消息文本的文本大小,因此添加了以下样式:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="AppTheme" parent="@android:style/Theme.Holo.Light.DarkActionBar">
        <item name="android:actionBarStyle">@style/MainActionBar</item>

        <item name="android:textAppearance">@android:style/TextAppearance</item>
        <item name="android:textAppearanceLarge">@android:style/TextAppearance.Large</item>

        <item name="android:alertDialogStyle">@style/AlertDialog</item>
    </style>

    <style name="TextAppearance" parent="@android:style/TextAppearance">
        <item name="android:textSize">24sp</item> 
    </style>

    <style name="TextAppearance.Large">
        <item name="android:textSize">28sp</item>
    </style>

    <style name="AlertDialog" parent="@android:style/Theme.Holo.Light.Dialog">
        <item name="android:textAppearanceMedium">@style/TextAppearance.Large</item>
    </style>
</resources>

@样式/主操作栏
@android:样式/文本外观
@android:style/TextAppearance.Large
@样式/警报对话框
24便士
28便士
@style/TextAppearance.Large
但是,显示对话框时不应用样式

我缺少什么?

尝试将父项添加到“TextAppearance.Large”样式中


28便士
主题


@android:彩色/白色
#000000
警报对话框

private void提示符(){
AlertDialog.Builder alert=新建AlertDialog.Builder(新建ContextThemeWrapper(
getActivity(),R.style.AppCompatAlertDialogStyle));
alert.setTitle(“更新SSID”);
setMessage(Html.fromHtml(“是否要更新加热器SSID”+常数.WIFI_SSID.toUpperCase()+”?));
LinearLayout布局=新的LinearLayout(getActivity());
布局。设置方向(线性布局。垂直);
final TextView secure=new TextView(getActivity());
secure.setTypeface(Util.setCustomFont(getActivity());
最终编辑文本标题框=新编辑文本(getActivity());
titleBox.setTypeface(Util.setCustomFont(getActivity());
secure.setText(Html.fromHtml(“
输入新SSID”); /*编辑文本设置*/ 标题框.setGravity(视图.文本\u对齐\u重力); LinearLayout.LayoutParams params=新的LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_父项,LinearLayout.LayoutParams.WRAP_内容); 参数设置边距(35,5,35,10); titleBox.setLayoutParams(参数); 标题框设置单行线(真); 标题框.setBackgroundResource(R.drawable.edit_text); titleBox.setTextColor(Color.parseColor(#505050”); titleBox.setInputType(InputType.TYPE\u TEXT\u FLAG\u CAP\u字符); //标题框.setText(“*******************”); 标题框。设置大小(12); /*文本视图设置*/ LinearLayout.LayoutParams params=新的LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_内容,LinearLayout.LayoutParams.WRAP_内容); 参数设置边距(35,10,35,5); secure.setLayoutParams(paramss); 布局。添加视图(安全); 布局。添加视图(标题框); alert.setView(布局); alert.setPositiveButton(“取消”,新建DialogInterface.OnClickListener()){ public void onClick(对话框接口对话框,int whichButton){ } }).setNegativeButton(“更新”,新的DialogInterface.OnClickListener(){ public void onClick(对话框接口对话框,int whichButton){ } }); final AlertDialog AlertDialog=alert.create(); alertDialog.show(); alertDialog.getButton(DialogInterface.BUTTON_负值)。setEnabled(false); titleBox.addTextChangedListener(新的TextWatcher(){ @凌驾 更改前的公共无效(CharSequence CharSequence,int i,int i1,int i2){ } @凌驾 public void onTextChanged(CharSequence CharSequence,int i,int i1,int i2){ int-ssidLength=charSequence.length(); 如果(ssidLength==0){ 返回; } if(!Character.isleterOrdGit(charSequence.charAt(ssidLength-1))){ titleBox.getText().delete(ssidleLength-1,ssidleLength); 返回; } 如果(ssidLength<2){ alertDialog.getButton(DialogInterface.BUTTON_负值)。setEnabled(false); }否则{ alertDialog.getButton(DialogInterface.BUTTON_负值).setEnabled(true); } 如果(ssidLength>12){ titleBox.getText().delete(ssidleLength-1,ssidleLength); } } @凌驾 public void PostTextChanged(可编辑){ } }); }
编辑_text.xml


查看我的编辑。尽量避免在我的代码中进行不必要的自定义。如果需要,可以在Html.fromHtml中指定字体大小。。
<style name="TextAppearance.Large" parent="@android:style/TextAppearance">
        <item name="android:textSize">28sp</item>
</style>
 <style name="AppCompatAlertDialogStyle" parent="Theme.AppCompat.Light.Dialog.Alert">
            <item name="android:background">@android:color/white</item>
            <item name="android:textColor">#000000</item>
        </style>
    private void prompt() {
        AlertDialog.Builder alert = new AlertDialog.Builder(new ContextThemeWrapper(
                getActivity(), R.style.AppCompatAlertDialogStyle));
        alert.setTitle("Update SSID");
        alert.setMessage(Html.fromHtml("<font color='#009688'>Do you want to update Heater SSID </font><font color='red'><u>" + Constants.WIFI_SSID.toUpperCase() + "</u></font><font color='#009688'> ?</font>"));
        LinearLayout layout = new LinearLayout(getActivity());
        layout.setOrientation(LinearLayout.VERTICAL);
        final TextView secure = new TextView(getActivity());
        secure.setTypeface(Util.setCustomFont(getActivity()));
        final EditText titleBox = new EditText(getActivity());
        titleBox.setTypeface(Util.setCustomFont(getActivity()));
        secure.setText(Html.fromHtml("<font color='#009688'><br><b>Enter new SSID</b></font>"));
            /*Edittext setting*/
        titleBox.setGravity(View.TEXT_ALIGNMENT_GRAVITY);
        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
        params.setMargins(35, 5, 35, 10);
        titleBox.setLayoutParams(params);
        titleBox.setSingleLine(true);
        titleBox.setBackgroundResource(R.drawable.edit_text);
        titleBox.setTextColor(Color.parseColor("#505050"));
        titleBox.setInputType(InputType.TYPE_TEXT_FLAG_CAP_CHARACTERS);
        // titleBox.setText("****************");
        titleBox.setTextSize(12);
       /*Textview setting*/
        LinearLayout.LayoutParams paramss = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
        paramss.setMargins(35, 10, 35, 5);
        secure.setLayoutParams(paramss);
        layout.addView(secure);
        layout.addView(titleBox);
        alert.setView(layout);
        alert.setPositiveButton("CANCEL", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int whichButton) {
            }
        }).setNegativeButton("UPDATE", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int whichButton) {
            }
        });
        final AlertDialog alertDialog = alert.create();
        alertDialog.show();
        alertDialog.getButton(DialogInterface.BUTTON_NEGATIVE).setEnabled(false);
        titleBox.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
            }

            @Override
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
                int ssidLength = charSequence.length();
                if (ssidLength == 0) {
                    return;
                }
                if (!Character.isLetterOrDigit(charSequence.charAt(ssidLength - 1))) {
                    titleBox.getText().delete(ssidLength - 1, ssidLength);
                    return;
                }
                if (ssidLength < 2) {
                    alertDialog.getButton(DialogInterface.BUTTON_NEGATIVE).setEnabled(false);
                } else {
                    alertDialog.getButton(DialogInterface.BUTTON_NEGATIVE).setEnabled(true);
                }
                if (ssidLength > 12) {
                    titleBox.getText().delete(ssidLength - 1, ssidLength);
                }
            }

            @Override
            public void afterTextChanged(Editable editable) {

            }
        });

    }
<?xml version="1.0" encoding="utf-8" ?>

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle"
    android:thickness="0dp">
    <stroke
        android:width="0.5dp"
        android:color="#009688" />

    <gradient
        android:angle="270"
        android:endColor="#ffffff"
        android:startColor="#ffffff"
        android:type="linear" />
</shape>