2016-01-01 2 views
2

Я просто пытаюсь создать alertdialog для моего приложения для Android.Как изменить стиль alertdialog box в android

, что я на самом деле хочу это диалоговое окно, как это: enter image description here

, чьи положительные и отрицательные кнопки заполнены диалоговом окне

через, но я всегда получаю что-то вроде этого:

enter image description here

и эти две кнопки соединяются в правом углу диалогового окна

может кто-нибудь сказать мне, что делать, чтобы изменить alertdialog от второго к первому?

большое спасибо

+1

<имя стиля = "dialogtheme" родитель = "@ андроид: стиль/Theme.Holo.Light.Dialog"> <имя элемента = "андроид: windowBackground"> ​​@ андроид: цветной прозрачного имени/ <пункта = "андроид: windowTitleStyle"> @ стиль/DialogWindowTitle.DeviceDefault имя <пункта = "андроид: windowContentOverlay"> @ нулевой имени <пункта = "андроид: windowMinWidthMajor"> @ Android: Dimen/dialog_min_width_major имени <пункта = "android: windowMinWidthMinor"> @ android: dimen/dialog_min_width_minor используйте эту тему для диалога. –

+0

Как вы создаете диалог? пожалуйста, покажите свой код – Rajesh

+0

, это бесполезно на самом деле – Jensen

ответ

1

Для этого Вам нужно создать пользовательский dilogbox Как это Диалог XML:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" > 

<ImageView 
    android:id="@+id/image" 
    android:layout_width="50dp" 
    android:layout_height="50dp" 
    android:contentDescription="@drawable/ic_launcher" 
    android:src="@drawable/ic_launcher" /> 

<Button 
    android:id="@+id/button" 
    android:layout_width="100dp" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/image" 
    android:layout_centerHorizontal="true" 
    android:text="Dismiss" /> 

<TextView 
    android:id="@+id/textView" 
    android:layout_width="wrap_content" 
    android:layout_height="fill_parent" 
    android:layout_above="@+id/button" 
    android:layout_toRightOf="@+id/image" 
    android:gravity="center_vertical" 
    android:textAppearance="?android:attr/textAppearanceMedium" /> 

</RelativeLayout> 

И В вашей деятельности:

final Dialog dialog = new Dialog(MainActivity.this); 

      //setting custom layout to dialog 
      dialog.setContentView(R.layout.cusotm_dialog_layout); 
      dialog.setTitle("Custom Dialog"); 

      //adding text dynamically 
      TextView txt = (TextView) dialog.findViewById(R.id.textView); 
      txt.setText("Put your dialog text here."); 

      ImageView image = (ImageView)dialog.findViewById(R.id.image); 
      image.setImageDrawable(getResources().getDrawable(android.R.drawable.ic_dialog_info)); 

      //adding button click event 
      Button dismissButton = (Button) dialog.findViewById(R.id.button); 
      dismissButton.setOnClickListener(new OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        dialog.dismiss(); 
       } 
      }); 
      dialog.show(); 
0

Вы можете установить настроенное расположение, чтобы предупредить с помощью метода setView (view) следующим образом:

AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this); 
LayoutInflater inflater = this.getLayoutInflater(); 
View dialogView = inflater.inflate(R.layout.alert_layout, null); 
dialogBuilder.setView(dialogView); 
AlertDialog alertDialog = dialogBuilder.create(); 
alertDialog.show();