Android-如何实现始终部分可见的NavigationDrawer?

Android-如何实现始终部分可见的NavigationDrawer?,android,android-listview,baseadapter,navigation-drawer,drawerlayout,Android,Android Listview,Baseadapter,Navigation Drawer,Drawerlayout,我希望在我的Android项目中有一个NavigationDrawer,它始终部分显示ListView,并且项目也可以单击,但是当用户拖动抽屉时,会显示完整的ListView 下图是我试图实现的目标: 第一个是“普通视图”,您可以在其中看到小图标。第二个是当用户滑动导航抽屉时,它会打开。第三个是当用户回到正常视图时,单击A和C,图标就会改变颜色 有什么建议吗 感谢您的回答:)我建议您在此场景中使用两个重叠片段。你可以看看 还有导游 如果您有任何更具体的疑问,请告诉我。我偶然发现了这个开源库。我

我希望在我的Android项目中有一个NavigationDrawer,它始终部分显示ListView,并且项目也可以单击,但是当用户拖动抽屉时,会显示完整的ListView

下图是我试图实现的目标:

第一个是“普通视图”,您可以在其中看到小图标。第二个是当用户滑动导航抽屉时,它会打开。第三个是当用户回到正常视图时,单击A和C,图标就会改变颜色

有什么建议吗


感谢您的回答:)

我建议您在此场景中使用两个重叠片段。你可以看看 还有导游


如果您有任何更具体的疑问,请告诉我。

我偶然发现了这个开源库。我个人没有使用过它,所以不能说它适合你的确切用例,右边有一个抽屉,但它确实有一个抽屉在左边。即使这样,您也可以从这里开始,并且应该能够在此基础上构建以适合您的用例。

感谢所有的答案。以下是我所做的工作:

我使用了重叠的片段和动画,就像我建议的那样。在onCreate时,我手动计算了地图的宽度(屏幕大小-折叠时的抽屉大小),这样在修改抽屉大小时,地图不会奇怪地拉伸。我把抽屉放在一个碎片里,碎片一直可见。之后,我实现了OnTestureListener,并对我的活动进行了手势检测,并开始从抽屉中收听触摸事件:

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;
    }
public boolean onFling(运动事件e1、运动事件e2、浮点速度X、,
浮动速度y){
如果(速度X<-250){
//用于将列表宽度从80增加到240的动画
}否则,如果(速度Y>250){
//用于将列表宽度从240减小到80的动画
}
返回true;
}

将listview与向左和向右移动listview的动画一起使用right@SunilMishra我当前的代码并不多,它只是抽屉布局、ListView和ListView的自定义适配器。如果愿意,我可以发布。你找到解决方案了吗?嘿,你能用任何例子发布整个解决方案吗?