如何将图标放入自定义对话框的标题中

Tom*_*Tom 18 icons android dialog title

我想把一个drawable放到一个对话框标题栏中.我尝试了以下方法:

final Dialog dialog = new Dialog(this);
dialog.requestWindowFeature(Window.FEATURE_LEFT_ICON);
dialog.setFeatureDrawableResource(Window.FEATURE_LEFT_ICON, R.drawable.some_icon);
dialog.setTitle(R.string.my_dialog_title);
dialog.setContentView(R.layout.my_dialog_layout);
...
Run Code Online (Sandbox Code Playgroud)

图标没有显示,但标题向右移动了一点.看来对话框为drawable保留空间但不绘制它.我尝试了几个不同的图标(也来自android资源),但没有它们工作.

Reu*_*ton 15

通话setFeatureDrawableResource() show().

不知道为什么会这样.:)

  • 使用它,你把它放在节目之前.requestWindowFeature - > setContentView - > setFeatureDrawableResource (6认同)

Kir*_*ela 15

这是解决方案

final Dialog dialog = new Dialog(this);
dialog.requestWindowFeature(Window.FEATURE_LEFT_ICON);
dialog.setTitle(R.string.my_dialog_title);
dialog.setContentView(R.layout.my_dialog_layout);
dialog.setFeatureDrawableResource(Window.FEATURE_LEFT_ICON,R.drawable.some_icon);
dialog.show(); 
Run Code Online (Sandbox Code Playgroud)

如果您希望对话框看起来像一个活动,而不是像下面那样将主题添加到对话框

final Dialog dialog = new Dialog(this,AlertDialog.THEME_HOLO_LIGHT);  
Run Code Online (Sandbox Code Playgroud)