我想要实现的是像图片中的效果:
所以基本上有一个TextView
慢慢消失。我不希望将整体View
设置为 50% 透明,而是将其左侧部分设置为 0% 透明,然后在右侧平滑地变为 100% 透明。
我知道某些组件(例如ListView
)使用它,但是是否可以以非常简单的方式手动完成?
提前感谢您的回答
首先,创建一个带有 alpha 渐变的形状。将 XML 放入您的可绘制目录中。我们称它为 gradient_view.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:angle="90"
android:startColor="#FFFFFFFF"
android:endColor="#00FFFFFF"
android:type="linear"/>
</shape>
现在在 TextView 右侧的布局中创建一个视图。您需要适当地设置宽度和高度,并根据需要在视图中定位(带有 layout_toTheRightOf 的 RelativeLayout 会很好用)。
<View android:layout_width="100dp"
android:layout_height="50dp"
android:background="@drawable/gradient_view"/>
在代码的正确位置,为其设置动画。将 -200 更改为您需要的任何值(或者更好的是,找到渐变视图的左 X 并减去 TextView 的左边缘以找到要移动的量)。
TranslationAnimation anim = new TranslateAnimation(0, -200, 0, 0);
anim.setDuration(1000);
myTextView.startAnimation(anim);
http://developer.android.com/reference/android/view/animation/TranslateAnimation.html
还有一些工作要做,但这是您最需要的。
祝你好运