2013-07-06 5 views
1

Я внедрил следующий код для настраиваемого диалогового окна и надеюсь также поместить значок в строку заголовка, но не удается. Диалоговое окно появляется без значка слева.значок android в пользовательском диалоговом окне

final Dialog dialog1 = new Dialog(First.this, android.R.style.Theme_Translucent_NoTitleBar); 
     dialog1.requestWindowFeature(Window.FEATURE_LEFT_ICON); 
     WindowManager.LayoutParams lp = dialog1.getWindow().getAttributes(); 
     lp.dimAmount = 0.5f; 
     dialog1.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND); 
     dialog1.setCancelable(true); 
     dialog1.setContentView(R.layout.alert_dialog); 
     dialog1.show(); 
     dialog1.setFeatureDrawableResource(Window.FEATURE_LEFT_ICON,R.drawable.lemon1_fw); 

Я пробовал некоторые комментарии, обнаруженные в Интернете, и кажется, что нет никакой разницы ставить setFeatureDrawableResource либо до, либо после того, как .show();

Как это можно решить? большое спасибо!!

+0

вы устанавливаете диалог без заголовка! где находится позиция рисования значка? на заголовке? и я думаю, что есть лучшее решение! сделайте пользовательский вид для диалога и установите его с помощью setcontentView.and вы можете поместить значок каждый раз, когда хотите –

+0

Привет, Leon_SFS, я хотел бы добавить значок в заголовок диалогового окна, а не в строку заголовка, спасибо! – pearmak

+0

Я рекомендовал вам создать пользовательский макет для вашего диалогового окна, его очень простой и удобный @pearmak –

ответ

0

это просто образец для получения пользовательского макета для диалога

private Dialog m_ShowAction; 
//in onCreate 
m_ShowAction = new Dialog(Contacts_List_Activity.this); 
m_ShowAction.requestWindowFeature(Window.FEATURE_NO_TITLE); 
m_ShowAction.setContentView(R.layout.popup_action_dialog); 
m_ShowAction.setCanceledOnTouchOutside(true); 
...... 

//inflate your control on custom Dialog layout like this 
ListView lstActionList = (ListView) m_ShowAction.findViewById(R.id.listView1); 

и вы можете установить OnClick или что-нибудь для любого элемента управления на пользовательском макете как обычный вид деятельности

в конце вызова m_ShowAction.show();

Смежные вопросы