2011-10-21 37 views
12

tôi tuyên bố một hoạt động thoại trong Manifest của tôi như sau:Android: Cách đặt biểu tượng trong thanh tiêu đề của hoạt động Dialog?

<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"> 

Tuy nhiên, chỉ có văn bản của tiêu đề xuất hiện trên thanh tiêu đề và biểu tượng xuất hiện để được bỏ qua. Có cách nào để hiển thị biểu tượng trên thanh tiêu đề không?

+0

Kích thước biểu tượng của bạn là gì? – ingsaurabh

+0

@ingsaurabh Xin lỗi, tôi vừa để ý câu hỏi của bạn. Biểu tượng là '@android: drawable/ic_dialog_alert' trong tài nguyên Android. Đó là 48x48 pixel. – Pooks

Trả lời

26

Sử dụng này sau khi super.onCreate(savedInstanceState); cuộc gọi của bạn:

requestWindowFeature(Window.FEATURE_LEFT_ICON); 

Sau đó, , đặt contentView(R.layout.youLayout); và sau đó sử dụng:

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

Thứ tự quan trọng.

1

Tôi nghĩ rằng sử dụng bên dưới dòng sau super cuộc gọi sẽ làm việc

requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); 

Hãy nhớ để đặt nó trước khi thiết lập xem nội dung

+0

Cảm ơn, tôi đã thử giải pháp của bạn, nhưng nó đã thay thế thanh tiêu đề bằng một thanh màu xanh đơn giản. Bây giờ không có văn bản và vẫn không có biểu tượng. :( – Pooks

+0

Tất nhiên nó sẽ không hiển thị cho bạn phải khai báo tiêu đề tùy chỉnh của bạn và chỉ định nó vào hệ thống – ingsaurabh

Các vấn đề liên quan