私が達成したいのは、写真のような効果です:
つまり、基本的にはTextView
ゆっくりと消える があります。全体View
をたとえば 50% 透明にするのではなく、たとえば左側の部分を 0% 透明にして、右側でスムーズに 100% 透明にする必要があります。
一部のコンポーネント (例: ) がこれを使用していることは知っていますListView
が、非常に簡単な方法で手動で行うことは可能ですか?
回答ありがとうございます
まず、アルファグラデーションを使用して形状を作成します。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
やるべきことはもう少しありますが、これがあなたが必要とすることのほとんどです。
幸運を