我有一个带有多个文本视图的水平线性布局.布局的宽度为fill_parent,高度为wrap_content.我的问题是,当文本视图长于设备允许的屏幕宽度时,它会将最后一个文本视图粉碎到右侧,而不是将其包装到新行中(这是我想要的结果).我认为具有wrap_content的高度可以解决此问题.
我应该怎么做才能使具有多个文本视图的线性布局在超出父视图宽度的情况下包裹文本视图?
这是我的布局中的摘录:
<LinearLayout
android:id="@+id/linearLayout20"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingTop="3dip" >
<TextView android:layout_height="wrap_content" android:textColor="@color/black" android:text="Car Info: " android:id="@+id/textView023" android:layout_width="wrap_content" android:textStyle="bold" android:textSize="@dimen/item_main_text_size"></TextView>
<TextView android:layout_height="wrap_content" android:textColor="@color/black" android:text="2005" android:id="@+id/autorental_item_caryear" android:layout_width="wrap_content" android:textSize="@dimen/item_main_text_size"></TextView>
<TextView android:layout_height="wrap_content" android:textColor="@color/black" android:paddingLeft="3dip" android:text="Chevy" android:id="@+id/autorental_item_carmake" android:layout_width="wrap_content" android:textSize="@dimen/item_main_text_size"></TextView>
<TextView android:layout_height="wrap_content" android:textColor="@color/black" android:paddingLeft="3dip" android:text="Rio" android:id="@+id/autorental_item_carmodel" android:layout_width="wrap_content" android:textSize="@dimen/item_main_text_size"></TextView>
<TextView android:layout_height="wrap_content" android:textColor="@color/black" android:paddingLeft="3dip" android:text="-" android:id="@+id/textView2" android:paddingRight="3dip" android:layout_width="wrap_content" android:textSize="@dimen/item_main_text_size"></TextView>
<TextView android:layout_height="wrap_content" android:textColor="@color/black" android:paddingLeft="3dip" android:text="Red" android:id="@+id/autorental_item_carcolor" android:layout_width="wrap_content" android:textSize="@dimen/item_main_text_size"></TextView>
</LinearLayout>
使用长文本视图时,它呈现如下内容:
Car Info: 2002 Chevrolet Silverado - Pu
rp
le
我希望它是这样的:
Car Info: 2002 Chevrolet Silverado -
Purple
解决方法:
使用包含多个TextViews(或其他事物,例如Button等)的LinearLayout,不可能获得所需的结果:
每个水平/垂直线性布局都为其子视图提供水平/垂直边界,每个孩子都可以在其中执行自己的操作.因此,每个视图只能沿不受限制的方向(在您的情况下为垂直)扩展.
这是说明问题的样本.外部破折号代表屏幕边框.
| First Text- | Short text | Long text will take all the space possible | T |
| View with | | | e |
| additional | | | x |
| given | | | t |
| maximum | | | |
| width. Long | | | |
| text makes | | | |
| it expand | | | |
| down | | | |
您可以通过将所有文本放入单个textview中来解决该问题.然后,如果要列出一个漂亮的列表,则需要再次格式化放入其中的字符串.