Android: Как изменить размер ScrollView меньше, если содержащийся TextView меньше? - PullRequest
0 голосов
/ 23 июля 2011

У меня есть 2 ScrollView, каждый из которых содержит TextView. Второй ScrollView обычно устанавливается в видимость = "ушел", и ScrollView отображает полный экран.

При касании ссылки на сноску в верхнем TextView указанная сноска загружается и корректно отображается во втором ScrollView, и она становится видимой. На данный момент он прокручивается и отлично работает.

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

Есть идеи? По сути, я хочу, чтобы размер второго ScrollView изменялся в зависимости от содержимого его дочернего TextView, вплоть до заданного максимального размера.

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

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent" 
  android:orientation="horizontal">
    <LinearLayout 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:orientation="vertical" 
        android:gravity="fill"
        android:id="@+id/contentLayout"
        android:layout_below="@id/headerLayout">
        <ScrollView 
            android:id="@+id/content_scroll"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:minHeight="200dp"  
            android:fillViewport="true"
            android:layout_below="@id/headerLayout" 
            android:layout_gravity="fill" 
            android:layout_weight="1" >
            <TextView 
                android:id="@+id/content" 
                android:text="This is the content..." 
                android:layout_width="fill_parent" 
                android:layout_height="wrap_content" />
        </ScrollView>
        <ScrollView 
            android:id="@+id/note_scroll"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:visibility="gone"
            android:background="@android:color/background_light"
            android:layout_below="@id/content_scroll" 
            android:layout_gravity="bottom"
            android:layout_weight="2" >
            <TextView 
                android:id="@+id/note_content" 
                android:text="This is the note content..." 
                android:layout_width="fill_parent" 
                android:layout_height="wrap_content"
                android:paddingLeft="6dip"
                android:paddingRight="6dip"
                android:paddingTop="6dip"               
                android:paddingBottom="6dip"                
                android:textColor="@android:color/black"
                android:textSize="10dp"
                android:clickable="true" />
        </ScrollView>
    </LinearLayout>
</RelativeLayout>

1 Ответ

0 голосов
/ 23 июля 2011

Не использовать атрибут веса.Удалите layout_weight из обоих представлений прокрутки.

или

и еще одна вещь, если вы хотите использовать атрибут layout_weight, тогда установите высоту 0dip.Это будет работать нормально.Нет смысла использовать оба этих атрибута вместе.

Спасибо

...