В этой части урока будем создавать диалоговое окно.
где CUSTOM_DIALOG константа
2.Создаем диалог
С помощью switch можно выбрать различную форму диалога.
И в методе onCreateDialog добавляем вывод диалога
Т.к. мы будем открывать диалоговое окно,то вместо изменения надписи на Button прописываем
showDialog(CUSTOM_DIALOG) ;
где CUSTOM_DIALOG константа
static final int CUSTOM_DIALOG=1;
2.Создаем диалог
Так же в MainActivity допишем следующий код для создания простого диалога.
@Override protected Dialog onCreateDialog(int id) { Dialog dialog = null; switch (id) { case CUSTOM_DIALOG : final AlertDialog al; //Моделирование окна диалога AlertDialog.Builder AlE = new AlertDialog.Builder(this); AlE.setTitle("Диалог"); al=AlE.create(); al.show(); break; } return dialog; }
Получаем диалог, только с одним заголовком.
С помощью switch можно выбрать различную форму диалога.
Например из другого места необходимо вызвать диалог но с другим видом
то,
делается это так:
делается это так:
В месте вызова пишем
showDialog(OTHER_DIALOG) ;
где OTHER_DIALOG
константа
static final int OTHER_DIALOG=2;
И в методе onCreateDialog добавляем вывод диалога
В итоге получаем
Тоже самое на видео
@Override protected Dialog onCreateDialog(int id) { Dialog dialog = null; switch (id) { case CUSTOM_DIALOG : final AlertDialog al; //Моделирование окна диалога AlertDialog.Builder AlE = new AlertDialog.Builder(this); AlE.setTitle("Диалог"); al=AlE.create(); al.show(); break; case OTHER_DIALOG : final AlertDialog al_other; //Моделирование окна диалога AlertDialog.Builder Al_O = new AlertDialog.Builder(this); Al_O.setTitle("Второй Диалог"); al_other=Al_O.create(); al_other.show(); break; } return dialog; }
Тоже самое на видео
Полный код
//MainActivity.java package my.ambar.dialog; import android.os.Bundle; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; import android.view.View; import android.widget.Button; public class MainActivity extends Activity { protected static final int CUSTOM_DIALOG = 0; protected static final int OTHER_DIALOG = 1; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); final Button b_dialog = (Button)findViewById(R.id.b_custom_dialog_id); final Button b_dialog2 = (Button)findViewById(R.id.b_custom_dialog2_id); b_dialog.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { showDialog(CUSTOM_DIALOG); //b_dialog.setText("Clicked"); } }); b_dialog2.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { showDialog(OTHER_DIALOG); } });
//main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <Button android:id="@+id/b_custom_dialog_id" android:layout_width="120dp" android:layout_height="wrap_content" android:layout_marginTop="100dp" android:layout_centerHorizontal="true" android:text="@string/b_custom_dialog"/> <Button android:id="@+id/b_custom_dialog2_id" android:layout_width="120dp" android:layout_height="wrap_content" android:layout_marginTop="150dp" android:layout_centerHorizontal="true" android:text="@string/b_custom_dialog2"/> </RelativeLayout>
//strings.xml <resources> <string name="app_name">Custom_Dialog</string> <string name="menu_settings">Settings</string> <string name="title_activity_main">MainActivity</string> <string name="b_custom_dialog">Open Dialog</string> <string name="b_custom_dialog2">Other Dialog</string> </resources>
Комментариев нет:
Отправить комментарий