首页 > 解决方案 > 使用带有动画的选择器绘制自定义边框

问题描述

我正在使用一个包含 n 个水平元素的 recyclerview。每个都是一个图像和一些文本。您使用 d-pad(物理箭头键)而不是触摸屏来遍历菜单。

我想使用Android xml选择器实现以下效果,但不知道如何:

我尝试使用九个补丁,但得到了奇怪的结果,我不确定这是否是正确的方法。我当前的选择器使用简单的颜色:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Checked tab -->
<item android:state_checked="true">
    <shape>
        <solid android:color="@color/red" />
    </shape>
</item>
<!-- Active tab -->
<item android:drawable="@color/red" android:state_focused="false" android:state_pressed="false" android:state_selected="true" />
<!-- Inactive tab -->
<item android:state_focused="false" android:state_pressed="false" android:state_selected="false">
    <color android:color="@color/black_faded" />
</item>
<!-- Pressed tab -->
<item android:state_pressed="true">
    <color android:color="@color/black_faded" />
</item>
<!-- Selected tab (using d-pad) -->
<item android:state_focused="true" android:state_pressed="false" android:state_selected="true">
    <color android:color="@color/red" />
</item>
</selector>

在此处输入图像描述

标签: androiduser-interfaceandroid-selector

解决方案


推荐阅读