在外形背景渐变动画渐变 [英] Fade animation in shape background gradient

查看:158
本文介绍了在外形背景渐变动画渐变的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一直没能找到做我想做的任何职位......我有一个矩形:

I have not been able to find any posts that do what I want...I have a rectangle:

<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的

The above shape is used as a background attribute in a 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的动态变化的大小作为其内容的变化,所以我不能只使用一个图像文件作为背景(这其实隐藏的文本内容布局经常更换)。我试图删除安卓背景属性,只是用映像文件我的 RelativeLayout的但后来这一形象占据了整个屏幕,因为我必须使用WRAP_CONTENT这个映像文件必须放在code文本的意见占据了 RelativeLayout的(否则文本覆盖图像)之前。我知道如何使一个Alpha补间动画,但我不知道如何分配安卓背景属性动画。任何想法?

I want to slowly fade in and out different gradients in this rectangle. The problem is, this RelativeLayout changes size dynamically as its content changes so I can't just use an image file as the background (this would in fact hide the text content of the layout which changes frequently). I have tried removing the android:background attribute and just using an image file in my RelativeLayout but then this image occupies the whole screen since I must use wrap_content and this image file must be placed in code before the text views occupying the RelativeLayout (otherwise the text is covered by the image). I know how to make an Alpha tween animation but I don't know how to assign the android:background attribute to the animation. Any ideas?

推荐答案

创建TransitionDrawable到您使用的褪色和非衰落背景的两种可绘制的褪色。

Create a TransitionDrawable to fade between two drawables that you use for the faded and unfaded background.

<?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>

<一个href="http://developer.android.com/reference/android/graphics/drawable/TransitionDrawable.html">http://developer.android.com/reference/android/graphics/drawable/TransitionDrawable.html

然后在code使用,开始转型。我已经很难codeD 2秒(2000米利斯)

Then use in code, start the transition. I've hard coded 2 seconds (2000 millis)

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

这篇关于在外形背景渐变动画渐变的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆