我想在我的Android项目中有一个NavigationDrawer,它始终部分显示ListView,并且项目也是可点击的,但是当用户拖动抽屉时,会显示完整的ListView。
下图是我正在努力实现的目标:
第一个是“普通视图”,您可以在其中看到小图标。第二个是当用户滑动导航抽屉以使其打开时。第三个是在普通视图中回到用户点击A和C时,图标会改变它们的颜色。
有任何建议怎么做?
感谢您的回答:)
答案 0 :(得分:2)
我遇到了这个开源库https://github.com/StevenRudenko/ActionsContentView。我没有亲自使用它,所以不能说它适合你在右边有一个抽屉的确切用例,但它的抽屉在左边。即使这样,你也可以从那里开始,并且应该能够在它上面构建它以适应你的用例。
答案 1 :(得分:1)
感谢所有答案。以下是我的工作:
我使用了重叠的片段和建议的动画。在onCreate上我手动计算了地图的宽度(屏幕尺寸 - 折叠时的抽屉尺寸),这样在修改抽屉尺寸时它不会奇怪地拉伸。我将抽屉设置在一个片段中,片段始终可见。之后我实现了OnGestureListener并为我的活动制作了一个GestureDetector,并开始收听抽屉中的触摸事件:
drawer.setOnTouchListener(new View.OnTouchListener() {
public boolean onTouch(View view, MotionEvent e) {
gestureDetector.onTouchEvent(e);
return false;
}
});
然后onFling-method
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;
}
答案 2 :(得分:0)
我建议您为此方案使用两个重叠片段。你可以看一下http://developer.android.com/guide/practices/tablets-and-handsets.html 和http://developer.android.com/guide/components/fragments.html指南。
如果您有任何更具体的疑问,请与我们联系。