0

我正在尝试PopupWindow使用自定义布局创建一个。这是我的布局文件:

<?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="48dp" >

    <ImageView
        android:id="@+id/switch_iamge"
        android:layout_width="32dp"
        android:layout_height="32dp"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:layout_marginLeft="4dp"
        android:src="@drawable/switch_icon" />

    <TextView
        android:id="@+id/old_info"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_toLeftOf="@+id/switch_iamge" />

</RelativeLayout>

我在这里创建PopupWindow

PopupWindow popupWindow = new PopupWindow(view,
        LayoutParams.WRAP_CONTENT, 48);

然而,它得到了孔屏宽度。我也检查了thisthis,但他们没有帮助。我应该怎么办?

编辑:似乎问题出在ImageView. 在图像中使用wrap_content也不起作用。所以我删除ImageView并使用drawableRight了属性TextView,它可以工作。

4

1 回答 1

0

您必须以编程方式创建弹出窗口。您不能在 XML 文件中更改它。我遇到了同样的问题。放入match_parent您的 xml 而不是wrap_content. 做这样的事情:

PopupWindow popupWindow = new PopupWindow(view,120,220);

希望它有所帮助:)

于 2014-11-25T10:05:06.607 回答