(我已经看过一些相关的问题,但没有答案,所以把这个放在奇怪的机会中,有人做了类似的事情,或者能指出我正确的方向......)
标准Android SlidingDrawer(以及我使用的Alessandro Crugnola's multi-direction variant)将句柄居中对齐。有没有人实现了SlidingDrawer,它提供左右对齐句柄的选项?..或者任何人都有关于如何解决这个问题的任何提示?
答案 0 :(得分:3)
解决了这个问题。在mVertical
是SlidingDrawer的onLayout(boolean changed, int l, int t, int r, int b)
方法(或者您正在使用的SlidingDrawer的任何变体)的真实条件,您应该找到以下代码行...
handleLeft = (width - childWidth) / 2;
...中心对齐手柄。将此更改为...
handleLeft = l;
...当滑动抽屉设置为垂直滑动(即从底部到顶部或从上到下)时,左手对齐手柄,或将其更改为...
handleLeft = r - handleWidth;
...右手对齐手柄。
同样,如果滑动抽屉设置为水平滑动(即从右到左或从右到左),mVertical
是onLayout(boolean changed, int l, int t, int r, int b)
方法的错误条件,请找到以下代码行...
handleTop = (height - childHeight) / 2;
...并将其更改为......
handleTop = t;
...顶部对齐手柄,或......
handleTop = b - handleHeight;
...底部对齐手柄。快乐的编码!
答案 1 :(得分:0)
假设您使用的是默认(垂直)方向: 如果要将抽屉手柄向左移动,请将滑动抽屉的android:layout_marginRight值设置为某个正数。如果你想让手柄向右移动,请执行相反的android:layout_marginLeft。滑动抽屉本身没有左/右对齐。如果您想要更加动态的对齐方式,则必须使用布局来获得所需的效果。