Кажется, я вспоминаю, что реализация GridLayout в рамках была немного ошибочной до API 23. TextViews имеют нулевую ширину в API 21 и 22. (Вы можете см. это в инспекторе макетов Android Studio - Инструменты-> Инспектор макетов .) Это связано с тем, что веса макетов не работают. Вам следует использовать версию AndroidX, которая на самом деле работает лучше.
implementation "androidx.gridlayout:gridlayout:1.0.0"
Версия библиотеки поддержки также будет работать.
Вот то, что вы кодируете, будет выглядеть с AndroidX. Я думаю, что XML для библиотеки поддержки будет таким же, за исключением того, что вы ссылаетесь на версию библиотеки поддержки GridLayout , а не на версию AndroidX.
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ffffff"
android:layout_weight="1"
android:fillViewport="true">
<androidx.gridlayout.widget.GridLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ffffff"
app:columnCount="1"
app:orientation="vertical"
app:rowCount="1"
tools:context=".MainActivity">
<!-- Text comparison UI -->
<include
android:id="@+id/text_comparator"
layout="@layout/textcomparator"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_row="0"
app:layout_column="0"
android:layout_weight="1"
android:visibility="visible" />
</androidx.gridlayout.widget.GridLayout>
</ScrollView>
</LinearLayout>
И включенный файл :
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.gridlayout.widget.GridLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
app:rowCount="1"
app:columnCount="2">
<EditText
android:id="@+id/textbox"
android:layout_width="0dp"
android:layout_height="match_parent"
app:layout_row="0"
app:layout_column="0"
app:layout_columnWeight="1"
android:gravity="left|top"
android:hint="Text 1"
android:inputType="textMultiLine"
android:padding="10dp"
android:text="" />
<EditText
android:id="@+id/textbox2"
android:layout_width="0dp"
android:layout_height="match_parent"
app:layout_row="0"
app:layout_column="1"
app:layout_columnWeight="1"
android:gravity="left|top"
android:hint="Text 2"
android:inputType="textMultiLine"
android:padding="10dp"
android:text="" />
</androidx.gridlayout.widget.GridLayout>
</LinearLayout>
Быстрый тест на эмуляторе с API 22 показывает следующее:
Это то, что ожидается.