1

私のアプリには、googleBtn というビューがあります。それを押すと、アニメーションが発生し、メニュー ビューが上部に移動します。そのボタンをもう一度押すと、メニューが開きます。下の画像を参照してください。

メニューが開いている間:

ここに画像の説明を入力

メニューを閉じた後:

ここに画像の説明を入力

問題は、メニューを非表示にするためにアニメーションが正しく発生することです。しかし、アニメーションを終了した後、メニュー レイアウトをその位置に固定したい (2 番目の画像のように) が、そのようにはなりませんでした。

現在、メニューが開いているときにGoogleボタンを押すと、メニューが閉じます。アニメーションが終了すると、通常の位置になります。

レイアウトのスクロール位置を修正しようとしましたが、まだ成功していません。

ボタンクリックのコードは次のとおりです。

case R.id.googleBtn:
        if(menu){   
            menuLayout.startAnimation(hideMenu);
            menu = false;
        }
        else{
            menuLayout.startAnimation(showMenu);
            menu = true;
        }
        break;

メニューのレイアウトは次のようになります。

  <LinearLayout android:id="@+id/menuLayout" 
    android:layout_height="wrap_content" android:layout_width="fill_parent"
    android:gravity="center_horizontal" 
    android:background="@drawable/slide">
    <View android:layout_height="80dp" android:layout_width="80dp"
        android:layout_marginBottom="25dp" android:id="@+id/googleBtn"
        android:background="#00000000" android:layout_gravity="bottom"/>    

</LinearLayout>

では、スクロール値を修正できないのはなぜですか? ?

これに関して助けが必要です。

アップデート

これはアニメーションの私のコードです:

メニューハイドの場合:

<?xml version="1.0" encoding="utf-8"?>

<translate 
    android:fromYDelta="0" 
    android:toYDelta="-70%" 
    android:duration="1000"
    android:fillEnabled="true"
    android:fillAfter="true"
    />

そしてMenuShowの場合:

    <?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate 
        android:fromYDelta="-70%" 
        android:toYDelta="0" 
        android:duration="1000"/>
</set>
4

2 に答える 2

1

おそらくandroid:fillEnabled="true"and/orを設定する必要がありandroid:fillAfter="true"ます。

それでもうまくいかない場合は、 のレイアウトに変更を適用できますAnimationListener#onAnimationEnd

于 2012-04-11T05:21:17.770 に答える
1

私はあなたがこの Android を探していると思います: Sliding Drawer

ここで Panel は、ビューを含むコンテナーであり、アニメーション、フリングなどもサポートしています。

ここにあるその他のウィジェットのソースhttp://code.google.com/p/android-misc-widgets/source/browse/#svn%2Ftrunk%2Fandroid-misc-widgets%2Fsrc%2Forg%2Fmiscwidgets%2Fwidget

于 2012-04-11T05:17:25.283 に答える