首页 > 其他分享 >android开发:弹框(AlertDialog)和提示信息Toast字体大小颜色设置

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

时间:2022-10-22 10:44:38浏览次数:83  
标签:Toast 字体大小 builder AlertDialog 提示信息 mToast TextView mAlert

一、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即可。

 

标签:Toast,字体大小,builder,AlertDialog,提示信息,mToast,TextView,mAlert
From: https://www.cnblogs.com/shuilangyizu/p/16815534.html

相关文章