我的应用程序充满了Android的自定义按钮.我想允许用户重新排列这些按钮,如Home或Application面板的图像按钮.
我对此进行了研究,发现我可以使用drag& amp;删除与用户动作交互的功能.但在我的情况下,父布局可能会有所不同.在OnMove或OnDrop事件中,我需要在相应的布局中实际移动该按钮.
所以问题是如何找到包含坐标x和amp;的布局. y并将按钮放入其中.
@OverrIDepublic 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进行比较.您可以通过调用以下内容来获取视图边界:
View.getHitRect()
所以像这样:
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代码,需要根据您使用的任何内容进行调整(即为嵌套控件添加递归).
希望有所帮助.
总结以上是内存溢出为你收集整理的android – 使用x,y坐标查找布局全部内容,希望文章能够帮你解决android – 使用x,y坐标查找布局所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)