Ограничить высоту вида до высоты родительского вида. - PullRequest
1 голос
/ 10 ноября 2010

У меня есть макет прокрутки с относительным макетом в каждой строке. Теперь есть изображение и текст, и я хочу ограничить высоту каждой строки текстом.

Так что, если мое изображение выше текста, это изображение будет изменено до высоты текста (пропорционально). Как я могу сделать это в XML?

На данный момент определение строки выглядит (скопировано из реализации mumble android):

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/RelativeLayout01"
    android:layout_height="wrap_content"
    android:layout_width="fill_parent">

    <ImageView
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/userRowState"
        android:src="@drawable/icon" />
    <TextView
        android:layout_toLeftOf="@+id/userRowStatus"
        android:layout_height="wrap_content"
        android:text="[Name]"
        android:id="@+id/userRowName"
        android:ellipsize="end"
        android:layout_width="wrap_content"
        android:lines="1"
        android:singleLine="true"
        android:textSize="25sp"
        android:layout_centerVertical="true"
        android:layout_toRightOf="@+id/userRowState" />
    <!--
        singleLine is deprecated but it is the only way to get ellipsize work
        it seems. 'inputType text, maxLines 1' didn't work. It's a known issue
        that Google has been unable to reproduce in 1½ years
        http://code.google.com/p/android/issues/detail?id=882 Will see what
        happens first, they remove support for singleLine or they manage to
        reproduce the error. :p
    -->
</RelativeLayout>

С уважением xZise

1 Ответ

0 голосов
/ 17 ноября 2010

Вы можете попробовать выровнять верх и низ значка по верху и низу userRowName:

<ImageView
    android:id="@+id/userRowState"
    android:src="@drawable/icon"
    android:layout_width="wrap_content"
    android:layout_alignTop="@+id/userRowName"
    android:layout_alignBottom="@+id/userRowName"/>

Это должно уменьшить его размер при уменьшении текста. Тем не менее, он останется центрированным по горизонтали в его старом положении, и не будет расти, поскольку он ограничен в горизонтальном направлении.

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