В настоящее время мне нужно использовать RecyclerView (или ListView), но количество элементов фиксировано в 4. Я хочу, чтобы эти 4 элемента одинаково использовали доступное пространство на экране. RecyclerView - это единственный вид на экране, за исключением панели приложений. То есть RecyclerView имеет layout_height
значение match_parent
. Я выбрал RecyclerView, потому что элементы имеют разные макеты в зависимости от состояния модели.
Я еще не просмотрел его, но я уверен, что я могу установить высоту программно в Java-коде для каждого элемента. Но это кажется неэлегантным, если я могу указать его в XML. Подобные вопросы, которые я имею в виду, когда я пишу это, отвечают на этот вопрос.
Я пробовал следующее в файле item_layout.xml, способ layout_weight
используется в других сценариях:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_weight="1"
android:layout_height="0dp">...</LinearLayout>
Но на экране ничего не отображается.
Что я хотел бы знать, могу ли я сделать это в XML-макете с layout_weight
или что-то еще? Если да, то как?