我正在尝试使用自定义布局创建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);
然而它会得到孔屏宽度。我还检查了this和this,但他们没有帮助。我该怎么办?
修改:问题似乎在ImageView
。在图像中使用wrap_content
也不起作用。所以我删除了ImageView
并在drawableRight
中使用了TextView
属性,它确实有效。
答案 0 :(得分:0)
您必须以编程方式创建弹出窗口。您无法在XML文件中更改它。我遇到了同样的问题。将match_parent
放入xml而不是wrap_content
。做这样的事情:
PopupWindow popupWindow = new PopupWindow(view,120,220);
希望它有所帮助:)