Иногда необходимо использовать более сложные диалоги, хотя если диалоги сложные лучше использовать Activity.
Для начала необходимо обдумаем разметку нашего диалога с необходимыми элементами. В данном примере присутствуют: две кнопке текст в панеле с прокруткой и рисунок.
Основные этапы:
Для начала необходимо обдумаем разметку нашего диалога с необходимыми элементами. В данном примере присутствуют: две кнопке текст в панеле с прокруткой и рисунок.
Основные этапы:
- Определить разметку.
- Определить диалог.
- Заполнить диалог данными, присоединить события.
- Запустить.
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content"> <ImageView android:id="@+id/ImageView01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" /> <ScrollView android:id="@+id/ScrollView01" android:layout_width="wrap_content" android:layout_below="@+id/ImageView01" android:layout_height="200px"> <TextView android:text="@+id/TextView01" android:id="@+id/TextView01" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </ScrollView> <Button android:id="@+id/Button01" android:layout_below="@id/ScrollView01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:text="Cancel" /> </RelativeLayout>
public void ShowDialog(Context context) {
//Инициализируем диалог.
Dialog dialog = new Dialog(context);
//Указываем разметку, описанная выше.
dialog.setContentView(R.layout.teacher_widget_spinner);
//Устанавливаем заголовок
dialog.setTitle("This is my custom dialog box");
//С кнопкой Cancel
dialog.setCancelable(true);
//Заполняем сам диалог нашими данными.
//Устанавливаем текст.
TextView text = (TextView) dialog.findViewById(R.id.TextView01);
text.setText(R.string.lots_of_text);
//Устанавливаем изображение
ImageView img = (ImageView) dialog.findViewById(R.id.ImageView01);
img.setImageResource(R.drawable.icon);
//Устанавливаем обработчик событий кнопки.
Button button = (Button) dialog.findViewById(R.id.Button01);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
//Всё готово, запускаем диалог.
dialog.show();
}
Комментариев нет:
Отправить комментарий