gpt4 book ai didi

android - 当 Android 上 View 的背景状态发生变化时,如何制作淡出效果?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:30:30 25 4
gpt4 key购买 nike

现在我有一个按钮并使用选择器作为它的背景,选择器有 pressedfocus 状态:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@color/item_gray" /> <!-- pressed -->
<item android:state_focused="true"
android:drawable="@color/item_gray" /> <!-- focused -->
</selector>

按钮代码:

<Button
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/button_selector"
android:text="@string/hello_world" />

让按钮在状态改变时改变背景很简单。现在我需要背景变的更漂亮。所以我想在两个背景状态的变化之间添加淡出效果。

我搜索了google和许多文档并阅读了Button的源代码,我发现如果我重写setPressed函数就可以做到。

我可以在 setPressed 中知道状态的变化,并绘制一个额外的位图来播放淡出动画。但我认为这不是一个好的理想。所以特意过来问问有没有更好的方法可以到达?

最佳答案

尝试在可绘制选择器中定义淡入淡出持续时间

<selector xmlns:android="http://schemas.android.com/apk/res/android"
android:enterFadeDuration="150" android:exitFadeDuration="150">

关于android - 当 Android 上 View 的背景状态发生变化时,如何制作淡出效果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26900578/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com