1

我有一个要使用 theme.dialog android 主题的 relativeLayout,它的宽度应该设置为 240dip。当我指定整个布局并且它是 xml 中的子级时,这有效。但是,当我尝试膨胀 xml 以添加更多视图(下面的代码)时,布局会填充屏幕的宽度。

Context context = this;
    LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

    RelativeLayout header = (RelativeLayout) inflater.inflate(R.layout.headphonepopupheader, null);

耳机弹出.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="240dp"
android:layout_height="wrap_content" >

<ImageButton
    android:id="@+id/closebutton"
    android:layout_width="24dp"
    android:layout_height="24dp"
    android:layout_alignParentTop="true"
    android:layout_alignParentRight="true"
    android:layout_marginLeft="216dp"
    android:background="@drawable/closebutton" />

</RelativeLayout>

有没有办法解决这个问题?

4

1 回答 1

3

膨胀 aRelativeLayout时,不要使用inflate()您在那里的方法签名。相反,使用将inflate()父容器作为第二个参数和一个布尔值作为第三个参数。为第二个参数提供最终的父RelativeLayout级,如果您不想立即添加,请作为第三个参数RelativeLayout传递。false

至少,当使用 a作为 a 中一行的基础时,这个配方可以解决各种RelativeLayout通货膨胀问题。RelativeLayoutListView

于 2011-12-17T18:13:18.067 回答