我想達成的目標是像在畫面效果: 如何創建視圖部分隱形
所以基本上有一個TextView
慢慢消失。我不希望整個View
被製成例如50%透明,而是例如左邊的一部分是0%透明,並且它在右邊順利地進入100%透明。
我知道某些組件(例如ListView
)使用這種方法,但可以用相當簡單的方法手動執行它嗎?
在此先感謝您的答案
我想達成的目標是像在畫面效果: 如何創建視圖部分隱形
所以基本上有一個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的右側。您需要適當地設置寬度和高度,並根據需要放置在您的視圖中(RelativeLayout with layout_toTheRightOf可以很好地工作)。
<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
有一點更多的工作要做,但是這是你最需要什麼。
祝你好運
再次感謝。 :-) –
使用從0到100%alpha的從左到右漸變透明度創建一個視圖。用定時器將該視圖左右移動到TextView左邊或使用動畫。 – Simon
謝謝西蒙。請把它寫成答案。所以我會接受它。 –