Я действительно пытался, но я не понимаю, как Android интерпретирует настройку layout_weight
...
То, что я пытаюсь достичь,
- заголовок сверху с фиксированной высотой
- область ввода внизу, содержащая EditText и кнопку
- часть содержимого в середине, которая занимает все, что осталось от пространства
При наборе текста я хотел бы увеличить EditText до определенной высоты и начать прокрутку, если введенный текст превышает допустимую высоту. Для этого мне нужно, чтобы окружающий LinearLayout
развивался вместе с EditText.
Если я определяю конкретную высоту для внутреннего LinearLayout
, он не будет расти. Если я этого не сделаю, внутренний макет займет ВСЕ пространство вместо ScrollView, независимо от того, что я пытаюсь использовать layout_weight
.: (
Мой текущий XML выглядит следующим образом:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="I'm a header" />
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:gravity="bottom">
<LinearLayout
android:id="@+id/itemContainer"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</ScrollView>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="50dp"
android:padding="2dp"
android:gravity="bottom"
android:isScrollContainer="true"
android:background="@drawable/steel" >
<EditText
android:id="@+id/edittext01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0.2"
android:scrollbars="vertical"
android:fadingEdge="vertical"
android:fadingEdgeLength="60dp"
android:maxHeight="40dp"
android:textSize="15sp" />
<Button
android:id="@+id/button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0.8"
android:layout_gravity="right"
android:text="Send"
android:textStyle="bold"
android:textSize="15sp" />
</LinearLayout>
</LinearLayout>
Любые советы приветствуются!