android xy坐标如何设定,android – 使用x,y坐标查找布局

我的应用程序充满了Android的自定义按钮.我想允许用户重新排列这些按钮,如Home或Application面板的图像按钮.

我对此进行了研究,发现我可以使用drag& amp;删除与用户动作交互的功能.但在我的情况下,父布局可能会有所不同.在OnMove或OnDrop事件中,我需要在相应的布局中实际移动该按钮.

所以问题是如何找到包含坐标x和amp;的布局. y并将按钮放入其中.

@Override

public boolean onTouchEvent(MotionEvent event) {

switch (event.getAction()) {

case MotionEvent.ACTION_DOWN:

status = START_DRAGGING;

break;

case MotionEvent.ACTION_UP:

status = STOP_DRAGGING;

break;

case MotionEvent.ACTION_MOVE:

if(status == START_DRAGGING){

//parentLayout.setPadding((int)event.getRawX(), 0,0,0);

//**What to do here**

parentLayout.invalidate();

}

break;

}

return true;

}

解决方法:

您可以遍历父容器中的所有控件,并将每个子节点与当前的X,Y进行比较.您可以通过调用以下内容来获取视图边界:

所以像这样:

for(View v : parent.children())

{

// only checking ViewGroups (layout) obviously you can change

// this to suit your needs

if(!(v instanceof ViewGroup))

continue;

if(v.getHitRect().contains(x, y))

return v;

}

这只是Psuedo代码,需要根据您使用的任何内容进行调整(即为嵌套控件添加递归).

希望有所帮助.

标签:button,android

来源: https://codeday.me/bug/20190721/1494724.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值