5

I would like to have a NavigationDrawer in my Android project that shows the ListView partially at all times, and the items are also clickable, but when the user drags the drawer full ListView appears.

Below image is what I'm trying to achieve:

enter image description here

First one is the "Normal view" where you can see the small icons. Second one is when the user slides the navigation drawer so that it opens. Third one is when back in the normal view the user clicks A and C, so that the icons change their colour.

Any recommendations how to do this?

Thanks for answering :)

4

3 に答える 3

1

すべての答えに感謝します。これを機能させるために私がしたことは次のとおりです。

提案されたように、重なり合うフラグメントとアニメーションを使用しました。onCreate の間、マップの幅 (画面サイズ - 折りたたみ時のドロワー サイズ) を手動で計算して、ドロワー サイズの変更中に奇妙に伸びないようにしました。引き出しをフラグメント内に設定し、フラグメントは常に表示されます。その後、OnGestureListener を実装し、アクティビティに GestureDetector を作成し、Drawer からのタッチ イベントのリッスンを開始しました。

drawer.setOnTouchListener(new View.OnTouchListener() {
        public boolean onTouch(View view, MotionEvent e) {
            gestureDetector.onTouchEvent(e);
            return false;
        }
    });

そしてonFlingメソッド

public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
        float velocityY) {
    if(velocityX < -250) {
         //animation for increasing the list width from 80 to 240
    } else if (velocityY > 250 ) {
         //animation for decreasing the list width from 240 to 80
    }
    return true;
    }
于 2013-10-16T07:35:48.613 に答える
0

このシナリオでは、重複する 2 つのフラグメントを使用することをお勧めします。ガイドについては、 http ://developer.android.com/guide/practices/tablets-and-handsets.html およびhttp://developer.android.com/guide/components/fragments.htmlをご覧ください。

さらに具体的な質問がある場合はお知らせください。

于 2013-09-26T06:18:40.510 に答える