我有一个GridLayout(4列,无限行),其中有一堆Grid项,都是一个填充了视图的RelativeLayout。那些RelativeLayouts应该是1,2或3列宽。不知何故,条目全部显示,甚至相互叠加!下面是我的(剥离的)XML文件:
网格:
<GridLayout android:id="@+id/shelve_carriers" style="@style/sport" android:orientation="horizontal" android:columnCount="4" />
用它的风格:
<style name="sport">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_marginTop">10dp</item>
</style>
网格条目XML(完整):
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:layout_columnSpan="1" android:maxWidth="175dp" android:layout_gravity="fill_horizontal" android:layout_width="175dp" android:background="@drawable/carrier_one" android:layout_height="wrap_content" android:layout_marginRight="10dp" android:minHeight="25dp" xmlns:android="http://schemas.android.com/apk/res/android">
<TextView style="@style/carrier_header" android:id="@+id/header" />
<LinearLayout android:id="@+id/carrier_orders"
android:layout_width="160dp" android:layout_height="wrap_content" android:minHeight="25dp" android:layout_below="@id/header" android:layout_alignParentLeft="true"
android:orientation="vertical" android:layout_gravity="fill_horizontal" android:layout_marginRight="10dp" android:padding="10dp">
</LinearLayout>
</RelativeLayout>
另:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:layout_width="360dp" android:background="@drawable/carrier_two" android:layout_height="wrap_content" android:layout_marginRight="10dp" android:minHeight="25dp" android:layout_columnSpan="2" xmlns:android="http://schemas.android.com/apk/res/android">
<TextView android:id="@+id/header" style="@style/carrier_header"/>
<LinearLayout android:id="@+id/carrier_orders"
android:layout_width="160dp" android:layout_height="wrap_content" android:minHeight="25dp" android:layout_below="@id/header" android:layout_alignParentLeft="true"
android:orientation="vertical" android:layout_gravity="fill_horizontal" android:layout_marginRight="10dp" android:padding="10dp">
</LinearLayout>
<LinearLayout android:id="@+id/carrier_orders2"
android:layout_width="160dp" android:layout_height="wrap_content" android:minHeight="25dp" android:layout_below="@id/header" android:layout_alignParentRight="true"
android:orientation="vertical" android:layout_gravity="fill_horizontal" android:layout_marginLeft="10dp" android:padding="10dp">
</LinearLayout>
</RelativeLayout>
TextView样式:
<style name="carrier_header">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:background">@drawable/lijn</item>
<item name="android:gravity">center</item>
</style>
答案 0 :(得分:0)
显然它与TextView样式设置有关:
<item name="android:layout_width">match_parent</item>
使用android:layout_alignParentRight =&#34; true&#34;在子元素&#34; carrier_orders2&#34;相对布局。显然,这两个XML属性都使RelativeLayout的宽度为全宽。