Подтвердить что ты не робот

Как включить пользовательский заголовок в AlertDialog в Android?

как я могу включить пользовательскую панель заголовка в alertDialog? Я знаю, что sroid sroid поддерживает метод setCustomTitle, но он не работает

изменить:

    AlertDialog alert = new AlertDialog.Builder(this).setTitle("Test").setMessage("hello").show();
    View view=alert.getLayoutInflater().inflate(R.layout.titlebar, null);
    alert.setCustomTitle(view);

но над кодом не работает

ПРИМЕЧАНИЕ: Я не ищу настраиваемое диалоговое окно, но хочу только сделать свой макет заголовка... Как ниже like this with close Button

4b9b3361

Ответ 1

вам не следует использовать метод .show с первой строкой, используйте следующий код:

AlertDialog.Builder alert = new AlertDialog.Builder(this);
LayoutInflater inflater = getLayoutInflater();
View view=inflater.inflate(R.layout.titlebar, null);
alert.setCustomTitle(view);
alert.setMessage("helo");
alert.show();

Ответ 2

    DisplayDialog d = new DisplayDialog(this);
    d.show();


    public class DisplayDialog extends Dialog implements android.view.View.OnClickListener
    {

        public DisplayDialog(Context c) 
        {
            super(c, R.style.Theme_Dialog_Translucent);
        }
        @Override
        protected void onCreate(Bundle savedInstanceState) 
        {
            super.onCreate(savedInstanceState);
            requestWindowFeature(Window.FEATURE_NO_TITLE);

            setCanceledOnTouchOutside(false);
            setContentView(R.layout.your_layout);
             }
    }


Add this snippet to your **strings.xml** 

 <style name="Theme_Dialog_Translucent" parent="android:Theme.Dialog">
        <item name = "android:windowBackground">@color/transparent</item>
     </style>
     <color name="transparent">#00000000</color> 

Use dismiss(); to close the dialog