0

Мне нужен пользовательский диалог, очень похожий на тот, который показан для авторизации USB DEBUG. Я нахожусь на уровне API 15 и выше. DEBUG AUTH DIALOG В принципе, мне нужно поставить флажок с текстом в пользовательском представлении. Я пробовал:Dialog Fragment Custom Body Checkbox

LayoutInflater inflater = getActivity().getLayoutInflater(); 
builder.setView(inflater.inflate(R.layout.my_dialog, (ViewGroup) getActivity().findViewById(R.id.root_of_my_dialog))); 

И мой пользовательский взгляд:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/root_of_my_dialog" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical"> 

    <!-- Here I'll have the checkbox --> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Test" 
     android:textColor="@color/red" /> 

</LinearLayout> 

Таким образом, мой пользовательский макет не получает правый край/отступы (тест слово только на крайнем левом) ... это не похоже на стиль. Как я могу наследовать стандартный/стандартный?

ответ

0

Создание диалога уже получено. Прочитайте ссылки ниже:

  1. create-a-custom-dialog-box-in-android

  2. create-modal-dialog-box-in-android

Надеется, что это помогает.

+0

мне не нужен совершенно новый пользовательский диалог, мне просто нужно добавить тело с флажком. Я бы хотел оставаться «стандартным». – Jumpa

+0

Проверьте вторую ссылку. Это то же самое, что ответил dieter_h. –

+0

Я уже использую диалоговое окно предупреждения, у меня есть заголовок, сообщение, отрицательные и положительные кнопки, единственное, что мне не хватает, это настраиваемый элемент с флажком. – Jumpa

0

Попробуйте это:

AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); 
    // Get the layout inflater 
    LayoutInflater inflater = getActivity().getLayoutInflater(); 

    View v = inflater.inflate(R.layout.my_dialog, null); 
    builder.setView(v) 
    // Add action buttons 
      .setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() { 
       @Override 
       public void onClick(DialogInterface dialog, int id) { 
        // OK 
       } 
      }) 
      .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() { 
       public void onClick(DialogInterface dialog, int id) { 
        //cancel 
       } 
      }); 


    Dialog dialog = builder.create(); 
    dialog.show(); 

Добавить padding

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/root_of_my_dialog" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:padding="20dp" 
    android:orientation="vertical"> 

    <!-- Here I'll have the checkbox --> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Test" 
     android:textColor="#ff0000" /> 

</LinearLayout> 
+0

Ваша подсказка передает null как родительский вид? Если так, то это не сработает. :( – Jumpa

+0

Мой код отлично работает. Я тестировал его. –

+0

Итак, текст правильно размещен? Вы на Lollipop? – Jumpa