Android Studio的代码笔记--Toast提示框、Log日志、AlertDialog对话框

本文介绍了Android中常用的UI组件Toast和AlertDialog的使用方法,包括自定义字体大小、对话框属性设置及弹窗内容获取。同时讲解了Log日志的记录级别及其在onStart()和onStop()方法中的应用,以及如何在Logcat中筛选查看特定日志。此外,还展示了如何创建带有编辑框的自定义对话框,并通过反射修改对话框的Title和按钮文字颜色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Toast提示框

三个参数(上下文-你所在的activity)(提示内容)(显示时间长短)

Toast.makeText(getApplicationContext(),"提示:",Toast.LENGTH_LONG).show();

可以修改字体大小的toast

Toast toast = Toast.makeText(MainActivity.this, "提示", Toast.LENGTH_SHORT);
LinearLayout toastLayout = (LinearLayout) toast.getView();
TextView toastTV = (TextView) toastLayout.getChildAt(0);
toastTV.setTextSize(30);
toast.show();

Log日志

  • 介绍:
    Log.e()记录错误信息error Log.d()记录调试信息debug
    Log.w()记录警告信息warn Log.v()记录详细信息verbose
    Log.i()记录一般提示性信息info
  • 使用:
    右击空白处-Generate-Override Methods-第一个下onStart():void/onStopt():void
@Override
protected void onStart() {
    super.onStart();
    Log.i("AppLXH","onStart");
}
@Override
protected void onStop() {
    super.onStop();
    Log.i("AppLXH","onStop");
}
  • 查看日志:找到左下角的6:Logcat,选择右上方的Regex中的Edit Filter Configuration选项进行筛选设置,将Log Tag填写成AppLXH便签名,0k
    图片用之前的有文字标注的,懒得重新搞了
    在这里插入图片描述
    在这里插入图片描述

AlertDialog对话框

1、AlertDialog.Builder创建对象
2、设置属性:标题、提示信息、图标、按钮
3、显示

//1创建对象
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
//2设置属性
builder.setTitle("提示");
builder.setMessage("确定退出吗?");
builder.setIcon(R.mipmap.ic_launcher_round);
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
	@Override
	public void onClick(DialogInterface dialogInterface, int i) {
    	finish();
	}
});
builder.setNegativeButton("取消",null);
//3显示
builder.show();

在这里插入图片描述
自己编辑的弹窗,例如带编辑框的弹窗

final EditText editText = new EditText(MainActivity.this);
new AlertDialog.Builder(MainActivity.this)
	.setTitle("请输入")
	.setIcon(android.R.drawable.ic_dialog_info)
	.setView(editText)
	.setPositiveButton("确定", new DialogInterface.OnClickListener() {
		@Override
		public void onClick(DialogInterface dialog, int which) {
			Log.i("LXH", "输入的编辑框内容:" + editText.getText().toString());
		}
	})
	.setNegativeButton("取消", null)
	.show();

设置弹窗的Title、Message、button文字大小等利用反射,获取编辑框内容可以用消息机制。
进入AlertDialog
在这里插入图片描述
进入AlertController,可以看到它们的定义
在这里插入图片描述

		final EditText editText = new EditText(getApplicationContext());
        editText.setTextColor(getResources().getColor(R.color.claro_black));
        AlertDialog dialog =new AlertDialog.Builder(SystemSetMain.this)
                .setTitle("请输入"+xx)
                .setIcon(android.R.drawable.ic_dialog_info)
                .setView(editText)
                .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Log.i("LXH", "输入的编辑框内容:" + editText.getText().toString());
                        Message msg = new Message();
                        msg.what = 1;
                        msg.obj= editText.getText().toString();
                        handler.sendMessage(msg);
                    }
                })
                .setNegativeButton("取消", null)
                .show();
        try {
            Field mAlert = AlertDialog.class.getDeclaredField("mAlert");
            mAlert.setAccessible(true);
            Object mAlertController = mAlert.get(dialog);
            Field mMessage = mAlertController.getClass().getDeclaredField("mTitleView");
            mMessage.setAccessible(true);
            TextView mTitleView = (TextView) mMessage.get(mAlertController);
            mTitleView.setTextColor(Color.BLACK);
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (NoSuchFieldException e) {
            e.printStackTrace();
        }

修改按钮的字体颜色

alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setTextColor(Color.BLUE);//确定键
                alertDialog.getButton(DialogInterface.BUTTON_NEGATIVE).setTextColor(Color.BLUE);//取消键

后面再补充

欢迎指错,一起学习

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值