为LinearLayout设置最大宽度

我怎样才能设置我的水平LinearLayout的最大宽度? 所以如果内容很短(比如一些文字),布局会缩小,如果内容比较长,则不会扩大到最大宽度值以上。

我更喜欢在XML级别做这个。

Solutions Collecting From Web of "为LinearLayout设置最大宽度"

这样做 – 除了以前的答案build议之外 ,我需要的是添加另一个布局( @+id/TheLayout )作为内容和顶部布局之间的包装:

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:paddingLeft="100dip" android:paddingRight="100dip"> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/TheLayout" android:layout_gravity="right"> <TextView android:id="@+id/TextView01" android:layout_height="wrap_content" android:layout_width="fill_parent" android:layout_weight="1" android:text="this is my text." android:layout_gravity="center_vertical"> </TextView> <ImageView android:id="@+id/ImageView01" android:layout_height="wrap_content" android:background="@drawable/icon" android:layout_width="fill_parent"> </ImageView> </LinearLayout> </LinearLayout> 
 @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int widthMaxSpec = MeasureSpec.makeMeasureSpec(270 /*pixels*/, MeasureSpec.AT_MOST); super.onMeasure(widthMaxSpec, heightMeasureSpec); }