2017-02-28 8 views
0

スライドのアニメーション効果を右から左へ、逆にスライドのアニメーション効果で表示するにはどうすればよいですか。私は、左から右のスライドアニメーションでビューを隠すことに成功しましたが、もう1つは達成できませんでした。アニメーションをスライドさせて、Androidで右から左に表示する方法

private void showLayout(){ 
    if(mContainerLayout.getVisibility() == View.VISIBLE){ 
     mContainerLayout.animate() 
       .translationX(mContainerLayout.getWidth()) 
       .setDuration(300) 
       .setListener(new AnimatorListenerAdapter() { 
        @Override 
        public void onAnimationEnd(Animator animation) { 
         super.onAnimationEnd(animation); 
         mContainerLayout.setVisibility(View.GONE); 
        } 
       }).start(); 
    } 
    else{ 
     mContainerLayout.animate() 
       .translationX(0) 
       .setDuration(300) 
       .setListener(new AnimatorListenerAdapter() { 
        @Override 
        public void onAnimationEnd(Animator animation) { 
         super.onAnimationEnd(animation); 
         mContainerLayout.setVisibility(View.VISIBLE); 
        } 
       }).start(); 
    } 
} 

答えて

0

をこのコード

<set xmlns:android="http://schemas.android.com/apk/res/android"> 
    <translate 
     android:duration="200" 
     android:fillAfter="true" 
     android:fromXDelta="-100%p" 
     android:toXDelta="0%p" /> 
</set> 

resフォルダの下animフォルダ内のファイルslide_in_anim.xmlを作成し、追加し

Animation slideAnimation = AnimationUtils.loadAnimation(context, R.anim.slide_in_up); 
mContainerLayout.startAnimation(slideAnimation); 
としてこのアニメーションを使用: には、以下の私が使用しているコードスニペットです
1

代わりにフェードアニメーションを追加できます。

private void showLayout(boolean show){ 
    if (show){ 
     mContainerLayout.animate() 
       .translationX(0) 
       .setDuration(300) 
       .alpha(1) 
       .start(); 
    } else { 
     mContainerLayout.animate() 
       .translationX(mContainerLayout.getWidth()) 
       .alpha(0) 
       .setDuration(300) 
       .start(); 
    } 
} 
関連する問題