Вложение ScrollView внутри TableRow

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

Макет в следующем коде работает, но ScrollView не заполняет всю ширину экрана. Тем не менее, его родитель TableRow заполняет всю ширину.

Я попытался подставить значения android:layout_width из ScrollView с fill_parent, match_parent а также wrap_content но ни один из них не заполняет ширину полностью.

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:showIn="@layout/activity_my">

    <TableRow>
        <EditText android:id="@+id/edit_message"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:hint="@string/edit_message"
            android:layout_weight="1"/>

        <Button
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:text="@string/button_send"
            android:onClick="sendMessage"/>
    </TableRow>

    <TableRow>
        <ScrollView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:scrollbars="vertical"
            android:fillViewport="true">
            <TextView
                android:id="@+id/message_box"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent" />
        </ScrollView>
    </TableRow>

</TableLayout>

1 ответ

Решение

Я нашел решение! я добавил android:layout_weight="1" в ScrollView,

<ScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:scrollbars="vertical"
        android:layout_weight="1"
        android:fillViewport="true">
        <TextView
            android:id="@+id/message_box"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" />
</ScrollView>
Другие вопросы по тегам