Установка максимальной ширины для LinearLayout - PullRequest
8 голосов
/ 13 сентября 2010

Как мне установить максимальную ширину моей горизонтали LinearLayout?Поэтому, если содержимое короткое (скажем, некоторый текст), компоновка уменьшается, а если содержимое длиннее, оно не будет расширяться больше, чем какое-либо значение максимальной ширины.

Я предпочитаю делать это на уровне XML.1004 *

Ответы [ 2 ]

7 голосов
/ 14 сентября 2010

Это делает то, что мне нужно помимо того, что было предложено в предыдущем ответе - это добавить еще один макет (@+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>
0 голосов
/ 15 марта 2016
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    int widthMaxSpec = MeasureSpec.makeMeasureSpec(270 /*pixels*/, MeasureSpec.AT_MOST);
    super.onMeasure(widthMaxSpec, heightMeasureSpec);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...