0
首先,如果已经有对此的答案,我表示歉意,但是我尝试的所有内容似乎都解决了一个问题,并创建了另一个问题!ListView中的LinearLayout的布局宽度问题
我试图创建一个列表视图,看起来是这样的:
GeneralLabel1 SubListItem1 Text
|ICON| SubListItem2 Text
|ICON| SubListItem3 Text
-----------------------------------------
GeneralLabel2 SubListItem1 Text
|ICON| SubListItem2 Text
|ICON|
-----------------------------------------
GeneralLabel3 SubListItem1 Text
|ICON| SubListItem2 Text
|ICON| SubListItem3 Text
SubListItem4 Text
SubListItem5 Text
目前,我使用的是BaseAdapter打造的“GeneralLabel”视图(其中只包含一个TextView和LinearLayout中),和然后通过每个连接到它的SubListItems的迭代,使用
rootView = view;
if (rootView == null){
rootView = inflater.inflate(R.layout.adapteritem_generalitem,viewGroup,false);
}
LinearLayout subListItemLayout = (LinearLayout)rootView.findViewById(R.id.subListItemLayout);
for (SubListItem item: GeneralItem.subItems){
View childView = inflater.inflate(R.layout.adapteritem_sublistitem,null);
((TextView)childView.findViewById(R.id.subListItemField1)).setText(item.field1String);
((TextView)childView.findViewById(R.id.subListItemField2)).setText(item.field2String);
subListItemLayout.addView(childView);
}
return rootView;
膨胀为rootView
的XML布局如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_weight="1">
<TextView
android:id="@+id/generalLabel"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="10dp"
android:paddingRight="5dp"
android:textAppearance="?android:attr/textAppearanceMedium"/>
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:id="@+id/avIndicator"
android:layout_marginTop="10dp"
android:layout_marginLeft="50dp"/>
</LinearLayout>
<LinearLayout
android:id="@+id/subListItemLayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical"/>
</LinearLayout>
充气用于SubListItem行中的XML布局如下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/colon_separator"
android:textAppearance="?android:attr/textAppearanceMedium"
android:id="@+id/separator"
android:layout_centerInParent="true"/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:id="@+id/subListItemField1"
android:layout_toLeftOf="@+id/separator"
android:gravity="right"
android:paddingRight="10dp"
android:layout_centerVertical="true"
android:textColor="@color/Xercisr_Dark_Gray"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:id="@+id/subListItemField2"
android:layout_toRightOf="@+id/separator"
android:paddingLeft="10dp"
android:layout_centerVertical="true"/>
</RelativeLayout>
我的问题是,无论是GeneralLabel字段和SubListItem行的宽度是可变的。我需要给SubListItem行赋予优先级,并将它们显示在一行上(如果需要,强制GeneralLabel打破多行)。目前的解决方案产生输出的合适的类别,但SubListItem行分成多行。
任何帮助将不胜感激。
三江源 - 接近,但没有雪茄不幸。我只是在屏幕上显示的内容的最后得到一个省略号 – 2014-09-24 22:51:48
我刚刚意识到singleLine已被弃用。使用maxLines来设置行数。 ''android:maxLines =“1”; android:scrollHorizontally =“true”//这允许水平滚动android:ellipsize =“none”' – user3806339 2014-09-25 03:57:21