#android #listview #youtube #fade
#Android #listview #YouTube #исчезновение
Вопрос:
войдите в приложение YouTube -> нажмите «Обзор», появится список категорий, все края которого исчезают с обоих концов, это выглядит очень красиво и шелковисто, у кого-нибудь есть идея, как этого добиться? Спасибо
Ответ №1:
Я думал, что это значение по умолчанию. Вы можете управлять этим с помощью fadingEdge в xml:
android:fadingEdge="vertical"
или на Java:
listView.setVerticalFadingEdgeEnabled(true);
За бонусные баллы вы можете увеличить длину края затухания, используя:
android:fadingEdgeLength="50dp"
Я не думаю, что для этого есть эквивалент Java.
Редактировать — для разделителя вы можете использовать форму градиента, которую можно рисовать, чтобы получить этот эффект. Например, в res/drawable/divider.xml
:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:startColor="#00000000"
android:centerColor="#808080"
android:endColor="#00000000"
android:angle="0"/>
</shape>
а затем установите его с помощью android:divider="@drawable/divider"
и, возможно android:dividerHeight="1dp"
, на вашем ListView
компьютере.
Комментарии:
1. Извините, я должен быть более конкретным. Я не говорю об этом исчезновении. Я говорю о линиях между элементами списка, ListView по умолчанию просто предлагает тонкую белую линию, но в приложении YouTube на самом деле есть линия, которая выделена в центре и исчезает в обоих концах (слева и справа), как это достигается?
2. кстати, я пробовал Android: fadingEdge =»horizontal», но это не работает.
3. Это сработает, только если ваш контент прокручивается горизонтально.
4. Извините, что я такой новичок, но после того, как я последовал этому, теперь разделителя больше нет, не могли бы вы, пожалуйста, помочь мне исправить это, спасибо
5. Вы также пытались установить высоту разделителя?