弹框(AlertDialog)和提示信息Toast字体大小颜色设置

Posted dmrbell

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了弹框(AlertDialog)和提示信息Toast字体大小颜色设置相关的知识,希望对你有一定的参考价值。

一、AlertDialog:

             AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle("温馨提示");
builder.setMessage("是否进行下一个病人?");
builder.setPositiveButton("是", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
//处理你的操作

}
});
builder.setNegativeButton("否", null);
AlertDialog dialog = builder.create();
dialog.show();
//弹框设置字体颜色
dialog.getButton(AlertDialog.BUTTON_POSITIVE).setTextColor(Color.BLUE);
dialog.getButton(DialogInterface.BUTTON_NEGATIVE).setTextColor(Color.BLUE);
try {
//获取mAlert对象
Field mAlert = AlertDialog.class.getDeclaredField("mAlert");
mAlert.setAccessible(true);
Object mAlertController = mAlert.get(dialog);
//获取mMessageView并设置大小颜色
Field mMessage = mAlertController.getClass().getDeclaredField("mMessageView");
mMessage.setAccessible(true);
TextView mMessageView = (TextView) mMessage.get(mAlertController);
mMessageView.setTextColor(Color.BLUE);
// mMessageView.setTextSize(30);
//获取mTitleView并设置大小颜色
Field mTitle = mAlertController.getClass().getDeclaredField("mTitleView");
mTitle.setAccessible(true);
TextView mTitleView = (TextView) mTitle.get(mAlertController);
mTitleView.setTextColor(Color.BLUE);
// mTitleView.setTextSize(30);
} catch (NoSuchFieldException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}

二、Toast:

private Toast mToast;
private void showTip(final String str){
runOnUiThread(new Runnable() {
@Override
public void run() {
if (mToast == null) {
mToast = Toast.makeText(getApplicationContext(), "",
Toast.LENGTH_SHORT);
LinearLayout layout = (LinearLayout) mToast.getView();
TextView tv = (TextView) layout.getChildAt(0);
tv.setTextSize(18);
          tv.setTextColor(R.color.white);

}
//mToast.cancel();
mToast.setGravity(Gravity.CENTER, 0, 0);
mToast.setText(str);
mToast.show();
}
});
}

 

  例如:Toast提示"登录成功",直接使用showTip("登录成功")即可。
注意:fragment里面使用时将
runOnUiThread替换成getActivity().runOnUiThread即可。


 

以上是关于弹框(AlertDialog)和提示信息Toast字体大小颜色设置的主要内容,如果未能解决你的问题,请参考以下文章

定位及处理Web页面toast弹框

react---简易toast组件

Android.对话框(AlertDialog/Toast/Snackbar)

跟我学Android之十 对话框

vux弹框显示

03-09 toast 控件识别