2015-12-03 3 views
-1

Эй Я пытаюсь поместить изображение над заголовком в диалоговом окне предупреждения. Это то, что я делаю:Диалог предупреждения Android - изображение сверху

ImageView image = new ImageView(this); 
image.setImageResource(R.drawable.img); 

alertDialog = new AlertDialog.Builder(new ContextThemeWrapper(this, android.R.style.Theme_DeviceDefault_Light_Dialog)) 
     .setView(image) 
     .setCancelable(false) 
     .setTitle(title) 
     .setMessage(message) 
     .setPositiveButton(btn1, new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialog, int whichButton) {}}) 
     .setNegativeButton(btn2, new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialog, int whichButton) {}}) 
     .create(); 
alertDialog.show(); 

Это результат: enter image description here

И это то, что я пытаюсь достичь: enter image description here

Я также пробовал с setIcon, но затем изображение появляется слева от заголовка, а не выше.

+0

Отправьте код своей деятельности здесь. –

+0

Следуйте рекомендациям @Android Weblineindia. –

+0

Активность в значительной степени. Я создаю диалог из onCreate –

ответ

0

Просто используйте это решение

final Dialog dialog = new Dialog(this) 
final Dialog dialog = new Dialog(this); 
dialog.requestWindowFeature(Window.FEATURE_LEFT_ICON); 
dialog.setTitle(R.string.my_dialog_title); 
dialog.setContentView(R.layout.my_dialog_layout); 
dialog.setFeatureDrawableResource(Window.FEATURE_LEFT_ICON,R.drawable.some_icon); 
dialog.show(); 
+0

Но тогда я не могу установить тему –

+0

Если вы хотите, чтобы заданная тема делала это в диалоговом окне диалога конструктора Диалог диалога = новый диалог (это, AlertDialog.THEME_HOLO_LIGHT); – ResolutioN

+0

Отлично, но мне не хватает одной мелочи - я удалил заголовок с диалогом. RequestWindowFeature (Window.FEATURE_LEFT_ICON); но разделитель заголовков все еще существует (выглядите как синяя рамка). Когда я не использовал пользовательский диалог, я мог бы получить его с помощью int titleViewId = dialog.getContext(). GetResources(). GetIdentifier («android: id /», null, null); TextView title_tv = (TextView) dialog.findViewById (titleViewId); и изменить его цвет. Как я могу заставить его исчезнуть сейчас? . –

0

Вы должны создать собственный макет, в котором вы можете спроектировать, который вы хотите. Безусловно, вы не можете настроить больше в диалоговом окне оповещения по умолчанию.

диалоговое окно Пользовательские оповещения можно создать с реф URL: http://javatechig.com/android/android-custom-dialog-example

0

Вы должны создать диалог на заказ и раздувать этот макет для CustomDialog. Здесь вы можете просмотреть диалог Custome.

Create Custom dialog

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