Android 更改滑动抽屉把手的对齐方式(左、右等)

Android 更改滑动抽屉把手的对齐方式(左、右等),android,android-sliding,Android,Android Sliding,(我看到了一些相关的问题,但没有答案,因此,如果有人做过类似的事情,或者可以为我指出正确的方向,那么就把这个问题说出来……) 标准的安卓滑动抽屉(也是我正在使用的)中心对准把手。是否有人实现了一个滑动抽屉,它提供了右对齐或左对齐手柄的选项?。。或者有人知道如何进行此操作吗?假设您使用默认(垂直)方向: 如果要向左移动抽屉把手,请将滑动抽屉的android:layout_marginRight值设置为正数。如果你想把手柄移到右边,就用相反的方法:布局\边缘左。没有将右/左本身与滑动抽屉对齐。如果你

(我看到了一些相关的问题,但没有答案,因此,如果有人做过类似的事情,或者可以为我指出正确的方向,那么就把这个问题说出来……)


标准的安卓滑动抽屉(也是我正在使用的)中心对准把手。是否有人实现了一个滑动抽屉,它提供了右对齐或左对齐手柄的选项?。。或者有人知道如何进行此操作吗?

假设您使用默认(垂直)方向:
如果要向左移动抽屉把手,请将滑动抽屉的android:layout_marginRight值设置为正数。如果你想把手柄移到右边,就用相反的方法:布局\边缘左。没有将右/左本身与滑动抽屉对齐。如果你想要一个更加动态的对齐方式,你必须使用布局来获得想要的效果。

解决了这个问题。在
mVertical
onLayout(boolean-changed,int-l,int-t,int-r,int-b)
滑动抽屉方法(或您正在使用的滑动抽屉的任何变体)的真实情况下,您应该找到以下代码行

handleLeft = (width - childWidth) / 2;
handleTop = (height - childHeight) / 2;
。。。哪个中心对准把手。将此更改为

handleLeft = l;
。。。当滑动抽屉设置为垂直滑动(即从下到上或从上到下)时,左对齐把手,或将其更改为

handleLeft = r - handleWidth;
handleTop = t;
。。。右对齐手柄

同样,如果滑动抽屉设置为水平滑动(即从右向左或从右向左),则在
mvertial
中,是
onLayout(boolean changed,int l,int t,int r,int b)
方法的假条件,找到下面的代码行

handleLeft = (width - childWidth) / 2;
handleTop = (height - childHeight) / 2;
。。。把它改成

handleLeft = r - handleWidth;
handleTop = t;
。。。要使手柄顶部对齐,或

handleTop = b - handleHeight;

。。。使手柄底部对齐。快乐编码

感谢安卓上瘾者的回复。设置边距以将句柄向左或向右推:对于不同的屏幕大小/密度,直接考虑维度是否合适或是否会变得混乱?如果使用密度无关的像素(例如,30DP),那么非常简单:显示D=((WiMWMealService)GETSealService(上下文:WiNoWOSService)).GETDebug()屏幕宽度=(int)(d.getWidth());没有快乐。我的句柄(ImageView)位于滑动抽屉视图中,既不允许在xml布局文件中设置句柄的边距,也不允许以编程方式进行设置。如果我尝试将从
myHandle.getLayoutParams()
返回的
View.LayoutParams
对象强制转换为
ViewGroup.MarginLayoutParams
对象,则会引发异常。我甚至尝试了
myHandle.setRight(0)
方法,但被忽略了。看起来我需要进去更改滑动抽屉代码,但我已经查看了一下,无法确定把手的位置以及如何根据需要进行更改。欢迎您的建议!。。您需要在滑动抽屉上设置边距,而不是把手。因此,手柄将根据抽屉边距进行调整。这里有一个起始标签的例子:感谢Android上瘾者的帮助。谢谢。我想出了一个办法让它发挥作用。看看我的答案…谢谢!你帮我省了很多时间在屏幕底部对齐处理器。是的,当然。我要把它发送到你网站页脚上列出的电子邮件地址吗?