2011-07-21 105 views
0

我在屏幕上有一個ListView,底部有一個菜單。當點擊菜單鍵時,它會動畫 - 從屏幕滑出並且ListView展開。Android,佈局動畫後點擊麻煩

 menuBtmVisable = false; 
     Animation menu_off = AnimationUtils.loadAnimation(this, R.anim.menu_off); 
     menubtm.startAnimation(menu_off); 

     Display display = getWindowManager().getDefaultDisplay(); 
     LayoutParams listlp = new LayoutParams(display.getWidth(), display.getHeight()-87 , 0, 50); 
     ListViewMain.setLayoutParams(listlp); 

menu_off.xml

<set 
    android:fillEnabled="true" 
    android:fillAfter="true" 
    xmlns:android="http://schemas.android.com/apk/res/android"> 
    <translate 
     android:fromYDelta="0" 
     android:toYDelta="120" 
     android:duration="500" 
    /> 
</set> 

然而,當與菜單下來,我點擊ListView項「13」(見圖片),它會導致菜單點擊,就好像它是仍然存在......

你認爲最好的照顧方式是什麼?

謝謝!

+0

picture:http://i.stack.imgur.com/4DbpA.jpg – Rob

回答

0

我一直在尋找這樣的問題的答案,最後,一個星期後,我已經設法解決我的問題。由於它看起來與你的相似,也許它會幫助你。

設置和AnimationListener()在您的動畫和onAnimationEnd,根據需要更改佈局。在我的情況下,我想要向上滑動佈局,所以2個按鈕將從下面出現。然而,佈局只是在視覺上滑動;交互式地說,按鈕仍然不在屏幕上。所以我有這樣的事情:

final View screen = findViewById(R.id.welcome_screen); 
final Animation a = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.slide_home_up); 
a.setFillAfter(true); 
a.setAnimationListener(new AnimationListener() { 

    public void onAnimationStart(Animation animation) { 
    } 

    public void onAnimationRepeat(Animation animation) { 
    } 

    public void onAnimationEnd(Animation animation) { 
     screen.clearAnimation(); 
     screen.setPadding(0, -222, 0, 0); 
    } 
}); 
screen.startAnimation(a);