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>