0
点赞
收藏
分享

微信扫一扫

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

 



举报

相关推荐

0 条评论