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


    一、AlertDialog:

    AlertDialog.Builder builder = new AlertDialog.Builder(ReturnActivity.this, android.support.design.R.style.Base_Theme_AppCompat_Dialog_Alert);
    builder.setTitle("温馨提示");
    builder.setMessage("是否进行下一个病人?");
    builder.setPositiveButton("是", new DialogInterface.OnClickListener() {
      @Override
      public void onClick(DialogInterface dialogInterface, int i) {
        //处理你的操作
        
      }
    });
    builder.setNegativeButton("否", null);
    AlertDialog dialog = builder.create();
    //弹框设置背景颜色
    final Window window = dialog.getWindow();
    window.setBackgroundDrawable(new ColorDrawable(Color.WHITE));
    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即可。
  • 相关阅读:
    jQuery的遍历方法
    xampp配置host和httpd可以随意访问任何本机的地址
    JavaScript的this简单实用
    移动端rem布局和百分比栅格化布局
    你知道用AngularJs怎么定义指令吗?
    谈谈Angular关于$watch,$apply 以及 $digest的工作原理
    深入了解Angularjs指令中的ngModel
    如何将angularJs项目与requireJs集成
    requireJS(二)
    requireJS(一)
  • 原文地址:https://www.cnblogs.com/shuilangyizu/p/16815534.html
Copyright © 2020-2023  润新知