android - 使用带有动画的选择器绘制自定义边框
问题描述
我正在使用一个包含 n 个水平元素的 recyclerview。每个都是一个图像和一些文本。您使用 d-pad(物理箭头键)而不是触摸屏来遍历菜单。
我想使用Android xml选择器实现以下效果,但不知道如何:
- 在 中
unselected_state
,我希望元素保持原样。 - 在活动中,或者
selected_state
,我希望使用淡入动画显示绿色十字准线(不知道该怎么称呼它) - 当元素回到
unselected_state
.
我尝试使用九个补丁,但得到了奇怪的结果,我不确定这是否是正确的方法。我当前的选择器使用简单的颜色:
<?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>
解决方案
推荐阅读
- node.js - 使用 QnA Maker 服务的 Azure 机器人不会在 Slack 的线程中回复
- pandas-groupby - Pandas 对按另一列分组的行求和
- c# - Selenium c#检查::before是否在跨度内可用
- android - React 本机 F2 图表未显示在 android 上
- sql - 在sql中的范围之间进行选择
- java - Java AudioSystem prevent loop from repeating before song finishes
- c# - 如何隐藏构建和运行的一些元素(脏项目和解决方案)
- python - 可视化 ffmpeg 基准
- instagram - 是否可以从 Instagram 帐户中检索指标?
- java - 如何部署 Openfire 服务器