如何创建视图部分不可见

Pio*_*cki 6 android view

我想要实现的是效果,如图中所示: 在此输入图像描述

所以基本上有一个TextView慢慢消失的东西.我不希望整体View制作例如50%透明,而是例如它的左侧部分为0%透明,并且它在右侧平滑地进入100%透明度.

我知道有些组件(例如ListView)会使用它,但有可能以非常简单的方式手动完成吗?

提前感谢您的回答

Sim*_*mon 8

首先,创建一个带有alpha渐变的形状.将XML放入drawable目录中.我们称之为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>
Run Code Online (Sandbox Code Playgroud)

现在,在TextView右侧的布局中创建一个视图.您需要根据需要适当地设置宽度和高度并在视图中定位(RelativeLayout with layout_toTheRightOf可以正常工作).

<View android:layout_width="100dp"
    android:layout_height="50dp"
    android:background="@drawable/gradient_view"/>
Run Code Online (Sandbox Code Playgroud)

在代码中的正确位置,为其设置动画.将-200更改为您需要的任何内容(甚至更好,找到渐变视图的左侧X并减去TextView的左边缘以查找要移动的量).

TranslationAnimation anim = new TranslateAnimation(0, -200, 0, 0);
anim.setDuration(1000);
myTextView.startAnimation(anim);
Run Code Online (Sandbox Code Playgroud)

http://developer.android.com/reference/android/view/animation/TranslateAnimation.html

还有一些工作要做,但这是你需要的大部分工作.

祝好运