Есть ли простой пример класса PopupWindow с использованием Android v2. 0?
Я посмотрел в интернете и не смог найти рабочий пример класса PopupWindow. Примеры кода, которые я нашел в интернете, либо компилируются, но не работают, либо используют методы, которые с тех пор были удалены (например,Activity.getViewInflate())
.
есть ли простой работающего пример, который отображает всплывающее окно?
3 ответа:
Я создал рабочий пример на основе это сообщение группы Google.
чтобы создать простое рабочее всплывающее окно, вам нужно будет сделать следующее:
- создать макет XML, который описывает представление, которое будет отображаться в PopupWindow.
- вызовите всплывающее окно, раздувая XML-файл макета, и назначьте соответствующее "родительское представление" всплывающему окну.
popup_example.XML-код:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:padding="10dip" android:layout_width="fill_parent" android:layout_height="wrap_content" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="10dip" android:text="Test Pop-Up" /> </LinearLayout>
Java код:
LayoutInflater inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE); PopupWindow pw = new PopupWindow( inflater.inflate(R.layout.popup_example, null, false), 100, 100, true); // The code below assumes that the root container has an id called 'main' pw.showAtLocation(this.findViewById(R.id.main), Gravity.CENTER, 0, 0);
насколько мне известно только в AbsoluteLayout работает(pls подтверждает), как видно на http://sree.cc/google/android/android-popup-window . Я показал всплывающее окно справа, но LinearLayout не показывал все элементы. Но AbsoluteLayout является устаревшим!
Так же работает, но организация просмотров-это кошмар, так как официальная документация говорит, что это хорошо только для проведения одного просмотра.
и чтобы иметь возможность получать касания события, вам нужно сделать это: setBackgroundDrawable(new BitmapDrawable ());
Как далее объясняется в Android всплывающее окно увольнение