2012-02-24 3 views
12

как я могу включать в себя пользовательский заголовок окна в alertDialog Я знаю, что Android SDK обеспечивают setCustomTitle метод, но он does'not работатьКак включить пользовательский вид названия с помощью AlertDialog в android?

редактировать:

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

+1

Это покажет, как создать пользовательский диалог http://developer.android.com/ guide/themes/ui/dialogs.html # CustomDialog –

+0

Я знаю, как создать пользовательский диалог, но я не хочу какого-либо настраиваемого диалогового окна, но мне нужно только название custum, так что я могу добавить кнопку в свой заголовок, так или иначе спасибо – sanu

+0

не работает? это дает некоторую ошибку? или просто не показывать пользовательский заголовок? Я думаю, что код правильный, он должен работать. – Vikram

ответ

48

вы не должны использовать .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(); 
0
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 
Смежные вопросы