Иногда необходимо использовать более сложные диалоги, хотя если диалоги сложные лучше использовать 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(); }
Комментариев нет:
Отправить комментарий