我有一个透明背景的相对布局和中间排列的一些视图,我将这个布局膨胀并使用addView()将其添加到主布局,膨胀的视图只是将角落中的中间元素添加到父级布局,我如何使添加的视图占据所有屏幕(尝试fill_parent但它只是被忽略) 这是我膨胀的观点
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@android:color/transparent" >
<RelativeLayout
android:id="@+id/layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:background="@color/info_bar_bg_color" >
<ImageView
android:id="@+id/channel_pic"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true" />
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toRightOf="@id/channel_pic"
android:ellipsize="end"
android:maxLines="2"
android:textColor="@color/title_color"
android:textSize="@dimen/title_text_size" />
<TextView
android:id="@+id/date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/title"
android:ellipsize="end"
android:maxLines="1"
android:textColor="@color/date_color"
android:textSize="@dimen/date_text_size" />
<TextView
android:id="@+id/hourStart"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/date"
android:textColor="@color/title_color"
android:textSize="@dimen/title_text_size" />
<TextView
android:id="@+id/hourEnd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/hourStart"
android:textColor="@color/title_color"
android:textSize="@dimen/title_text_size" />
<ImageView
android:id="@+id/share_pic"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:src="@drawable/epgshare_0" />
<ImageView
android:id="@+id/bell_pic"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_below="@id/share_pic"
android:src="@drawable/epgsharebell_0" />
</RelativeLayout>
</RelativeLayout>
这是我将视图添加到
的主要布局 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/ic_launcher"
tools:context=".MainActivity" >
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:onClick="openInfoBar"
android:text="Open InfoBar" />
</RelativeLayout>
答案 0 :(得分:2)
我给这个布局充气并用addView()将它添加到主布局, 膨胀的视图只是将角落中的中间元素添加到 父布局,
这种情况正在发生(最有可能),因为您没有为膨胀的布局视图设置正确的LayoutParams
。你可能会使用这样的东西:
View v = inflater.inflate(R.layout.to_fill_parent, null);
与简单的addView(v)
方法相结合将使视图的行为与您看到的一样。
正确的方法是:
View v = inflater.inflate(R.layout.to_fill_parent, (ViewGroup)findViewById(R.id.layout), false);
//add the view with addView
答案 1 :(得分:0)
更改:
<RelativeLayout
android:id="@+id/layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:background="@color/info_bar_bg_color" >
如:
android:layout_width="500dp"
android:layout_height="600dp"
你必须尝试另外的数字而不是500和600 ,,,,当你有最好的尺寸保存它^ _ ^