هل هناك مثال بسيط لفئة popupwindow باستخدام Android v2.0؟

StackOverflow https://stackoverflow.com/questions/1967863

  •  21-09-2019
  •  | 
  •  

سؤال

نظرت إلى الإنترنت ولم أتمكن من العثور على مثال عاملة لفئة Popupwindow. أمثلة الكود التي وجدتها عبر الإنترنت إما على تجميع ولكن لا تعمل ، أو تستخدم طرقًا تمت إزالتها منذ ذلك الحين (مثل Activity.getViewInflate()).

هل هناك بسيطة عمل مثال يعرض popupwindow؟

هل كانت مفيدة؟

المحلول

لقد قمت بإنشاء مثال عمل بناءً على هذه مجموعات Google Post.

لإنشاء popupwindow عمل بسيط ، ستحتاج إلى القيام بما يلي:

  1. إنشاء تخطيط XML الذي يصف العرض الذي سيتم تقديمه داخل popupwindow.
  2. استدعاء 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>

كود جافا:

    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); 

نصائح أخرى

afaik فقط أعمال المطلقة(من فضلك تأكيد) ، كما رأينا في http://sree.cc/google/android/android-popup-window . لقد أظهرت المنبثقة اليمين ، لكن LinearLayout لم يكن يعرض جميع العناصر. ولكن تم إهمال المطلقة!

يعمل Framelayout أيضًا, ، لكن تنظيم المشاهدات هو كابوس لأن الوثائق الرسمية تقول إنه أمر جيد فقط لعقد منظر واحد.

ايضا، لتكون قادرًا على تلقي أحداث اللمس, ، تحتاج إلى القيام بذلك: الانتكاس (new bitmapdrawable ()) ؛

كما أوضح كذلك في فصل نافذة النافذة المنبثقة Android

أنت تحصل على الخفاء لأنك لم تحدد لون الخلفية للتخطيط الذي تقوم بتضخيمه.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top