android L中没有正确显示弹出窗口

时间:2015-02-05 09:54:17

标签: android performance android-layout android-5.0-lollipop android-popupwindow

这就是它在android L上的样子:

enter image description here

在果冻豆上看起来像:

enter image description here

这里是布局xml文件:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:customfont="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:background="@color/black_bg_dialog"
    android:layout_height="match_parent">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_marginRight="30dp"
        android:layout_marginLeft="30dp"
        android:layout_centerInParent="true"
        android:layout_height="wrap_content"
        android:padding="10dp"
        android:orientation="vertical"
        android:background="@color/enquiry_bg">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:textColor="@color/enquiry_text_top"
            customfont:customTypeface="fonts/Roboto-Light.ttf"
            android:text="@string/contact_us" />

        <EditText
            android:id="@+id/et_name"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/name"
            android:ellipsize="end"
            android:hint="@string/contact_hint_name"
            android:inputType="text"
            android:singleLine="true"
            android:textColor="@color/enquiry_text"
            android:layout_marginTop="20dp"
            android:textColorHint="@color/enquiry_text_hint"
            android:textSize="18sp" />

        <EditText
            android:id="@+id/et_email"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/email"
            android:ellipsize="end"
            android:hint="@string/contact_hint_email"
            android:inputType="textEmailAddress"
            android:singleLine="true"
            android:textColor="@color/enquiry_text"
            android:layout_marginTop="20dp"
            android:textColorHint="@color/enquiry_text_hint"
            android:textSize="18sp" />

        <EditText
            android:id="@+id/et_phone"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/phonenumber"
            android:ellipsize="end"
            android:hint="@string/contact_hint_phone"
            android:inputType="phone"
            android:singleLine="true"
            android:textColor="@color/enquiry_text"
            android:layout_marginTop="20dp"
            android:textColorHint="@color/enquiry_text_hint"
            android:textSize="18sp" />

        <FrameLayout
            android:id="@+id/fl_send"
            android:layout_width="match_parent"
            android:background="@color/enquiry_send_bg"
            android:layout_marginTop="20dp"
            android:layout_gravity="center"
            android:padding="10dp"
            android:layout_height="wrap_content">

            <TextView
                android:id="@+id/btn_submit"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:drawablePadding="20dp"
                android:drawableRight="@drawable/sendbutton"
                android:text="@string/contact_btn_submit"
                android:textColor="@color/white"
                android:layout_gravity="center"
                android:gravity="center"
                customfont:customTypeface="fonts/Roboto-Regular.ttf"
                android:textSize="23sp" />

        </FrameLayout>

    </LinearLayout>

    <RelativeLayout
        android:id="@+id/rl_progress_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/loading_alpha"
        android:visibility="gone">

        <ImageView
            android:id="@+id/iv_progress_icon"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
    </RelativeLayout>
</RelativeLayout> 

和弹出窗口的代码:

View popUpView = activity.getLayoutInflater().inflate(R.layout.dialog_contact_us, null);

        enquiryPopUp = new PopupWindow(popUpView, RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT, true);
        enquiryPopUp.setBackgroundDrawable(new BitmapDrawable(null, ""));
        enquiryPopUp.setAnimationStyle(android.R.style.Animation_Dialog);
        enquiryPopUp.showAtLocation(popUpView, Gravity.CENTER, 0, 0);

我不明白我做错了什么。请帮助。

1 个答案:

答案 0 :(得分:2)

我在value-21的style.xml中有以下行

<item name="android:fitsSystemWindows">true</item>

这对我来说是个问题。但由于我解释here

的原因,我无法删除此行

所以我在PopupWindow布局的每个视图中添加了android:fitsSystemWindows="false"

vooolaaaa !!!解决了。