Setting a max width for LinearLayout
27,713
Solution 1
This does it - what I needed beyond what was suggested in prior answer is to add another layout (@+id/TheLayout
) as a wrapper between the content and the top layout:
<?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>
Solution 2
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int widthMaxSpec = MeasureSpec.makeMeasureSpec(270 /*pixels*/, MeasureSpec.AT_MOST);
super.onMeasure(widthMaxSpec, heightMeasureSpec);
}
Author by
Asahi
Updated on March 15, 2020Comments
-
Asahi about 4 years
How can I set the max width of my horizontal
LinearLayout
? So if the contents are short (say, some text), the layout shrinks and if the contents are longer, it will not expand more than some max width value.I prefer doing this at the XML level.
-
Muhammed Refaat about 8 yearswelcome to SO, you'd rather explain why your code will solve his problem, thanks.
-
Ready Android about 7 yearsNice! Working like a charm.