Значки вкладок выделяются при пролистывании - PullRequest
0 голосов
/ 22 октября 2018

Я настроил свои вкладки в приложении для Android так, чтобы вместо текста отображались значки.Тем не менее, текстовые метки были выделены при выборе.Я решил это с помощью OnTabSelectedListener, где установлен более яркий значок.Но я до сих пор не знаю, как добиться такого естественного эффекта выделения, когда более половины перелистывают с одной страницы на другую.

Любые советы?Заранее спасибо.

1 Ответ

0 голосов
/ 22 октября 2018

Вместо использования OnTabSelectedListener вы должны использовать значки, которые меняются в зависимости от того, выбраны они или нет.

Если ваши значки являются векторными рисунками, вы можете использовать Список состояний цветов для автоматического изменения их цветов.Вот как это может выглядеть для значка карандаша:

  • res / color / blue_when_selected.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_selected="true" android:color="#0000ff"/>
    <item android:color="#aaaaaa"/>
</selector>
  • res / drawable / ic_pencil.xml
<vector
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="24dp"
    android:height="24dp"
    android:viewportWidth="24.0"
    android:viewportHeight="24.0">

    <path
        android:fillColor="@color/blue_when_selected"
        android:pathData="M3,17.25V21h3.75L17.81,9.94l-3.75,-3.75L3,17.25z
        M20.71,7.04c0.39,-0.39 0.39,-1.02 0,-1.41l-2.34,-2.34c-0.39,-0.39 -1.02,-0.39 -1.41,0l-1.83,1.83 3.75,3.75 1.83,-1.83z"/>

</vector>

Теперь, где бы вы ни настраивали значки вкладок, если вы используете R.drawable.ic_pencil, вы увидите, что вы получаете автоматическое переключение цветов.


Если вашзначки - это файлы .png, тогда вы можете использовать список состояний для рисования для достижения того же эффекта.Представьте, что у вас есть res/drawable-mdpi/icon_normal.png и res/drawable-mdpi/icon_selected.png.Тогда вы можете получить это:

  • res / drawable / icon.xml
<selector
    xmlns:android="http://schemas.android.com/apk/res/android">

    <item
        android:state_selected="true"
        android:drawable="@drawable/icon_selected"/>

    <item
        android:drawable="@drawable/icon_normal"/>

</selector>

Опять же, если вы используете R.drawable.icon, вы увидите, что вы получитеавтоматическое переключение между двумя файлами .png.

...