Если coloumn 3 имеет большой текст, столбец 2 исчезает. Столбец 2 также исчезает, если я установил android:stretchColumns="2,3"
. Я хотел бы установить minWidth
s в столбец 2. Но этот атрибут игнорируется.Как сжать столбец TableLayout в minWidth?
Я помогаю себе прямо сейчас, установив android:stretchColumns="3"
и android:shrinkColumns="3"
и применение maxWidth
к TextView на позиции 2. Это почти делает работу, но MinWidth будет больше подходит.
<TableLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:shrinkColumns="2,3"
android:stretchColumns="3" >
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/TextViewIdLabel"
style="@style/overlay_content"
android:text="@string/id_label"
android:textStyle="bold" />
<TextView
android:id="@+id/TextViewIdValue"
style="@style/overlay_content"
android:layout_marginLeft="4dp" />
<TextView
android:id="@+id/TextViewPersonIdLabel"
style="@style/overlay_content"
android:layout_marginLeft="8dp"
android:text="@string/person_id_label"
android:textStyle="bold" />
<TextView
android:id="@+id/TextViewPersonIdValue"
style="@style/overlay_content"
android:layout_marginLeft="4dp" />
</TableRow>
<!-- I skipped the other rows -->
</TableLayout>
Это используемый стиль, если вам интересно:
<style name="overlay_content">
<item name="android:textColor">@color/foreground_color_on_dark_background</item>
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textSize">20sp</item>
<item name="android:ellipsize">marquee</item>
<item name="android:singleLine">true</item>
</style>
Update:
Как приходили ответы, я узнал больше о моих требованиях, которые я подытожены в этом комментарии : How to shrink a TableLayout column to a minWidth?
Как насчет установки веса на столбец вместо 'android: shrinkColumns' и' android: stretchColumns'. Итак, для столбца 1 вы можете установить 0,2 вес, 0,3 для столбца 2 и 0,5 для столбца 3 и так далее? – Slartibartfast
@Slartibartfast До сих пор ваше решение - единственная работа, которая всегда гарантирует, что все столбцы отображаются хотя бы частично. – OneWorld