gpt4 book ai didi

android - 形状背景渐变中的淡入淡出动画

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

我找不到任何符合我要求的帖子...我有一个矩形:

<shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke android:width="2dp" android:color="#FFFFFF" />
<padding android:left="4dp"
android:top="4dp"
android:right="4dp"
android:bottom="4dp" />
<corners android:radius="6dp" />
<gradient
android:angle="90"
android:startColor="#FF000000"
android:centerColor="#FF000000"
android:endColor="#FF0000cd"
android:type="linear" />

上面的形状在 RelativeLayout 中用作背景属性:

<RelativeLayout
android:id="@+id/layoutBottom"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:animation="@anim/slide_top_to_bottom"
android:background="@drawable/rectangle4"
android:orientation="vertical" >

我想在这个矩形中慢慢淡入和淡出不同的渐变。问题是,这个 RelativeLayout 会随着内容的变化而动态改变大小,所以我不能只使用图像文件作为背景(这实际上会隐藏经常变化的布局的文本内容)。我曾尝试删除 android:background 属性并仅在我的 RelativeLayout 中使用一个图像文件,但随后该图像占据了整个屏幕,因为我必须使用 wrap_content 并且该图像文件必须放置在占据 RelativeLayout 的 TextView 之前的代码中(否则文本会被图像覆盖)。我知道如何制作 Alpha 补间动画,但我不知道如何将 android:background 属性分配给动画。有什么想法吗?

最佳答案

创建一个 TransitionDrawable 以在您用于褪色和未褪色背景的两个可绘制对象之间淡入淡出。

<?xml version="1.0" encoding="UTF-8"?>
<transition xmlns:android="http://schemas.android.com/apk/res/android">
<!-- use whatever drawables you want, gradients, shapes etc-->
<item android:drawable="@drawable/faded" />
<item android:drawable="@drawable/unfaded" />
</transition>

http://developer.android.com/reference/android/graphics/drawable/TransitionDrawable.html

然后在代码中使用,开始过渡。我硬编码了 2 秒(2000 毫秒)

TransitionDrawable trans = (TransitionDrawable) myLayout.getBackground();
trans.startTransition(2000);

关于android - 形状背景渐变中的淡入淡出动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14412361/

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