Мне нужно добавить, чтобы добавить ListView со сложными элементами фона: разные для четных/нечетных и закругленных углов сверху и снизу. Это выглядит так:
Я реализовал все это через список уровней, но есть еще одна вещь, которую я хочу сделать. Теперь нижний элемент находится в нижней части экрана. Лучше добавить некоторое пространство.
Я не хочу добавлять нижнее поле в ListView, мне нужен запас только для последнего элемента.
Как я это вижу:
Footer
Вид взлома - добавьте нижний колонтитул с пустой TextView в ListView. Но нижние колонтитулы - довольно неустойчивые вещи, они обычно исчезают после notifyDataSetChanged, и нет способа вернуть их.
Изображение с прозрачными пикселями
Я попросил дизайнера добавить прозрачные пиксели к нижнему фоновому ресурсу. К сожалению, в этом случае вертикальное центрирование полностью нарушается. Например, существует 9patch, например:
И макет, подобный этому:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<!-- View with background with transparent pixels on bottom -->
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content"
android:id="@+id/item"
android:background="@drawable/some_bgr"
android:padding="10dp"
>
<TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1"
android:text="Title"
android:layout_gravity="center"
android:textSize="18sp"
/>
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
android:text="Detail"
android:layout_gravity="center"
android:textSize="18sp"
/>
</LinearLayout>
<!-- Just for marking place took by view -->
<FrameLayout android:layout_width="match_parent" android:layout_height="match_parent"
android:layout_below="@id/item"
android:background="#88ff55"
/>
</RelativeLayout>
Результат:
Как вы видите, центрирование не работает. К сожалению. (BTW, если указать этот 9patch в качестве фона для TextView, то центрирование работает хорошо. Если вы знаете какую-либо статью, объясняя это, сообщите мне.)
Добавить нижний предел к последнему элементу в реализации адаптера
Это должно работать, но по неизвестной причине я все еще не могу заставить его работать. Мне это не нравится, потому что мне не нравится изменять размеры кода.
Так
Существует уже мнимый способ - постройте XML-чертеж с определенным растровым изображением и маркой. В соответствии с концепцией drawables это должно быть возможно, но я не могу найти реализацию. Может быть, кто-нибудь знает?
Любые другие идеи?