カスタムのスライドアウトメニューの実装(ライブラリを使用しない)があり、レイアウトを右にスライドして左側にメニューを表示します(facebook、google +アプリのように)。メニューが表示されたら、以下のコードに示すように、アルファ値を指定して正しいレイアウトをフェードします。
<FrameLayout
android:id="@+id/fl_mask"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:alpha="0.7"
android:background="@color/black">
</FrameLayout>
しかし、これはすべて私のメニューが表示されたときに起こります。レイアウトが右にスライドするので、暗くしたいのですが。レイアウトを左端から遠ざけるほど、レイアウトは暗くなります。さらに、レイアウトアニメーションに次のコードを使用して、レイアウトを右にスライドさせます。
public Animation SlidingAnimation(int animateDuration, boolean slideLeftToright, final boolean executeOnAnimEndCode) {
Animation animation = null;
AnimationSet set = new AnimationSet(true);
if (slideLeftToright) {
animation = new TranslateAnimation(Animation.RELATIVE_TO_SELF, -1.0f, Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF, 0.0f,
Animation.RELATIVE_TO_SELF, 0.0f);
} else {
animation = new TranslateAnimation(Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF, -1.0f, Animation.RELATIVE_TO_SELF, 0.0f,
Animation.RELATIVE_TO_SELF, 0.0f);
}
animation.setDuration(animateDuration);
animation.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationRepeat(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
if (executeOnAnimEndCode) {
... // Some piece of code
}
}
});
set.addAnimation(animation);
return animation;
}
レイアウトが右にスライドするときに、レイアウトをフェード/暗くするにはどうすればよいですか?