Android:如何在Dialog活动的标题栏中设置图标?

12

我在清单文件中声明了一个对话框活动,如下所示:

<activity android:name=".myDialog"
              android:label="@string/title_dlg"
              android:icon="@android:drawable/ic_dialog_alert"
              android:exported="false"
              android:excludeFromRecents="true"
              android:theme="@android:style/Theme.Dialog">

然而,在标题栏中只有标题文本出现,图标似乎被忽略了。 是否有办法在标题栏中同时显示图标呢?


@ingsaurabh 抱歉,我刚注意到你的问题。在Android资源中,图标是@android:drawable/ic_dialog_alert。它的大小为48x48像素。 - Pooks
2个回答

26

在调用super.onCreate(savedInstanceState);后使用此方法:

requestWindowFeature(Window.FEATURE_LEFT_ICON);

然后,设置你的contentView(R.layout.youLayout);,然后使用这个:

getWindow().setFeatureDrawableResource(Window.FEATURE_LEFT_ICON, android.R.drawable.ic_dialog_alert);

顺序很重要。


1

我认为在super调用后使用以下行将起作用

requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);

记得在设置内容视图之前放置它


谢谢,我尝试了你的解决方案,但它用一个纯蓝色的条代替了标题栏。现在没有文字,也没有图标。:( - Pooks
当然,它不会向您展示如何声明自定义标题并将其指定给系统。 - ingsaurabh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接