使用WRAP_CONTENT,弹出窗口获得孔屏宽度

时间:2014-11-25 08:59:25

标签: android android-layout android-popupwindow

我正在尝试使用自定义布局创建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属性,它确实有效。

1 个答案:

答案 0 :(得分:0)

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

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

希望它有所帮助:)