Итак, у меня есть базовое приложение, в котором список просматривает весь экран. Каждая строка представляет собой номер строки в тексте, за которой следуют две кнопки -
и +
, которые соответственно увеличивают или уменьшают число.Как уменьшить размер моего списка Android
Однако я хочу поэкспериментировать с калибровкой, поэтому я хотел в принципе «сжать» этот список до 1/4-го размера и заставить его работать в углу.
Однако я не смог даже сжать свой первоначальный список, потому что все, что я могу сделать, это fill_parent
, match_parent
, или wrap_content
.
Что я могу сделать?
Мой файл activity_main.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.doublebass.mylistapp.MainActivity">
<ListView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@android:id/list"
android:layout_alignParentTop="true"
/>
</RelativeLayout>
Моя попытка с помощью GridLayout (положить мой реальный список в левом верхнем углу и четырех других местах просто пустой, так что я положил в пустой ListViews):
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.doublebass.mylistapp.MainActivity">
<GridLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:columnCount="2"
android:rowCount="2">
<ListView
android:layout_gravity="fill"
android:id="@android:id/list"
android:layout_columnSpan="1"
android:layout_rowSpan="1"/>
<ListView
android:layout_gravity="fill"
android:layout_columnSpan="1"
android:layout_rowSpan="1"/>
<ListView
android:layout_gravity="fill"
android:layout_columnSpan="1"
android:layout_rowSpan="1"/>
<ListView
android:layout_gravity="fill"
android:layout_columnSpan="1"
android:layout_rowSpan="1"/>
</GridLayout>
</RelativeLayout>
это возможно только программным способом? Сейчас я экспериментирую с GridLayout, но он не работает. Я обновлю OP. – DoubleBass
Да, если вы хотите динамически расширять/заключать контракты. Но, если вы просто хотите постоянно иметь фиксированную высоту и ширину, почему бы не указать требуемую высоту/ширину в xml? Или, может быть, у меня не возникла проблема. –
Я не знаю, как это сделать. Я просто пытаюсь сжать список в 1/4-й экран (так что половина его длины, половина его ширины) – DoubleBass