В этой части урока будем создавать диалоговое окно.
где 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>

Комментариев нет:
Отправить комментарий