如何为AlertDialog添加图标?setIcon方法参数取值疑问
为AlertDialog添加图标的方法
AlertDialog.Builder的setIcon()方法有两种常用传参方式:
1. 传入资源ID(推荐)
直接传入Android SDK自动生成的资源引用ID,格式为R.drawable.你的图标文件名,前提是图标文件已经放在res/drawable(或对应分辨率的drawable子目录)下。
修改后的完整代码示例:
private void firstTimeRan() { new AlertDialog.Builder(this) .setIcon(R.drawable.your_app_icon) // 替换成你的图标资源ID .setTitle("How to use the app: ") .setMessage("BLANK") .setPositiveButton("ok", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int i) { dialog.dismiss(); } }) .create().show(); }
注意:图标文件名只能用小写字母、数字和下划线,不能包含大写或特殊字符。
2. 传入Drawable对象
如果需要对图标做额外处理(比如tint变色),可以传入Drawable对象,高版本Android推荐用ContextCompat.getDrawable()保证兼容性:
.setIcon(ContextCompat.getDrawable(this, R.drawable.your_app_icon))
内容的提问来源于stack exchange,提问作者AKD2022
相关产品推荐
相关产品推荐

