Значок диалогового окна Android для заголовка

У меня есть этот класс диалога, и я хочу установить значок в его заголовок:

public class DialogMealInformation extends Dialog implements android.view.View.OnClickListener { Context context; private TextView tv_information; private Button b_ok; private String information; public DialogMealInformation(Context context, String information) { // TODO Auto-generated constructor stub super(context); this.context = context; this.information = information; setContentView(R.layout.dialog_meal_information); getWindow().setLayout(android.view.ViewGroup.LayoutParams.FILL_PARENT, android.view.ViewGroup.LayoutParams.WRAP_CONTENT); setTitle("Info !"); initialize(); } 

Он пробовал вот так:

 setTitle(R.layout.dialog_simple_header); 

dialog_simple_header.xml

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" > <TextView android:id="@+id/tv_dialog_simple_header_title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/tv_information" android:drawableLeft="@drawable/more_information" /> </LinearLayout> 

Но название после этого было «res / layout / dialog_simple_header.x» только текст, значок не отображается, почему, пожалуйста, что такое решение, спасибо большое

Следуйте этому при любом button кнопки или в вашей onActivity или в любом месте, которое вы хотите отобразить в этом диалоговом окне. Читать мои комментарии каждый после //

 AlertDialog alertDialog = new AlertDialog.Builder( this).create(); alertDialog.setTitle("TITLE"); // your dialog title alertDialog.setMessage("Your message"); // a message above the buttons alertDialog.setIcon(R.drawable.ic_home); // the icon besides the title you have to change it to the icon/image you have. alertDialog.setButton("Got IT", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { // here you can add a method to the button clicked. you can create another button just by copying alertDialog.setButton("okay") } }); alertDialog.show(); 

Сделайте мне одолжение и удалите это

  public DialogMealInformation(Context context, String information) { // TODO Auto-generated constructor stub super(context); this.context = context; this.information = information; setContentView(R.layout.dialog_meal_information); getWindow().setLayout(android.view.ViewGroup.LayoutParams.FILL_PARENT, android.view.ViewGroup.LayoutParams.WRAP_CONTENT); setTitle("Info !"); initialize(); } 

И добавьте меня вместо этого!

Вот диалог с пользовательской темой и View

  final Dialog dialog = new Dialog(mContext,android.R.style.Theme_Translucent_NoTitleBar); dialog.setContentView(R.layout.dialog_layout_third); ImageView image = (ImageView) dialog.findViewById(R.id.image2); //image.setImageResource(R.drawable.ic_launcher); image.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { dialog.dismiss(); } }); dialog.show(); dialog.setCancelable(false); 

Здесь я устанавливаю тему прозрачной, а затем я использую dialog.SetContentView для добавления макета. В моем макете я использую только imageview и вот мой макет для диалога.

  <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="fill_parent" android:layout_width="fill_parent" android:id="@+id/onetimeedit" android:visibility="visible" > <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent" > <ImageView android:id="@+id/image2" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:src="@drawable/drag" /> </RelativeLayout> </FrameLayout> 

Вы можете добавить textView как Title, просто добавьте его в макет. И / или используя dialog.setTitle("MyTitleShouldByHere");

Надеюсь, что мой пример очистит его для вас, и если это то, что вы хотите, пожалуйста, согласитесь с ответом, чтобы другим людям было легко. благодаря

Dialog.setTitle (int resId) используется, если вы хотите установить текст заголовка в строковый ресурс.

То, что вы ищете, это то, что вы уже делаете – setContentView. В вашем обычном xml заголовок выглядит так, как вам нравится, или – если вы хотите установить его во время выполнения, просто получите ссылку на ImageView и установите его в коде.

Надеюсь это поможет.