проблема макета Android - PullRequest
       7

проблема макета Android

1 голос
/ 20 октября 2010

Я хочу, чтобы строка автоматически масштабировалась. Эффект моего кода действительно странный ...

Я не могу публиковать изображения, поэтому изображение здесь: http://i.stack.imgur.com/NQfkO.jpg

код:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="#FFFFF0"

>

<TextView
    android:id="@+id/number"
    android:layout_width="wrap_content"
    android:layout_height="60dip"
    android:gravity="center_vertical"
    android:textSize="25sp"
    android:textColor="#CBCBCB"
/>
<TextView
    android:id="@+id/label"
    android:minHeight="60dip"
    android:maxHeight="120dip"
    android:layout_width="220dip"
    android:layout_height="wrap_content"
    android:layout_marginLeft="5dip"
    android:gravity="center_vertical"
    android:textSize="25sp"
    android:textColor="#0f93b8"

/>
<TextView
    android:id="@+id/people"
    android:layout_width="fill_parent"
    android:layout_height="60dip"
    android:gravity="right"
    android:textSize="12sp"
    android:textColor="#CBCBCB"

/>
</LinearLayout>

1 Ответ

0 голосов
/ 20 октября 2010

Может быть некоторая путаница в том, что вы хотите масштабировать. Чтобы автоматически масштабировать TextView в зависимости от длины содержимого, вы можете установить высоту для не конкретных значений с помощью wrap_content. Это вместе с минимальной высотой даст вам представления, которые всегда отображают ваш контент, однако они могут не уместиться на одном экране (вам, возможно, придется поместить общий вид в представление прокрутки или в список со строками в качестве элементов).

Если вы хотите, чтобы сам текст масштабировался «автоматически» ... ну, это немного сложнее, так как по умолчанию такого поведения не существует. Вам нужно будет измерить оставшееся пространство с помощью Canvas в TextView и определить правильные метрики шрифта, которые будут использоваться для доступного пространства. Для этого я бы расширил TextView и переопределил различные методы onMeasure () и draw (), чтобы определить нужный шрифт. Если ваши TextViews имеют фиксированный размер, это значительно упростит задачу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...