如何在Android中移动视图?

如何在Android中移动视图?,第1张

概述我有一个项目,我有两个挑战: 第一: >将图标移动到手指触摸屏幕的位置: 为此,我发现的最佳方法是在视图上使用.layout()方法. 第二: >我在RelativeLayout上有两个布局,两个都有屏幕宽度和高度(1隐藏在另一个后面).每当我点击一个按钮时,我想将一个上方的一个向右移动. 有没有更好的方法在Android上移动视图? 使用方法.layout()可能有什么缺点? public vo 我有一个项目,我有两个挑战:

第一:

>将图标移动到手指触摸屏幕的位置:

为此,我发现的最佳方法是在视图上使用.layout()方法.

第二:

>我在relativeLayout上有两个布局,两个都有屏幕宽度和高度(1隐藏在另一个后面).每当我点击一个按钮时,我想将一个上方的一个向右移动.

有没有更好的方法在Android上移动视图?

使用方法.layout()可能有什么缺点?

public voID layout (int l,int t,int r,int b) Since: API Level 1 Assign a size and position to a vIEw and all of its descendants Parameters:l  left position,relative to parent t  top position,relative to parent r  Right position,relative to parent b  Bottom position,relative to parent

提前致谢.

解决方法 WindowManager为每个视图维护至少两个LayoutParams类实例,除了VIEw本身之外的那个实例.

检查WindowManager的updateVIEwLayout方法,特别是这部分:

vIEw.setLayoutParams(wparams);    synchronized (this) {        int index = findVIEwLocked(vIEw,true);        VIEwRoot root = mRoots[index];        mParams[index] = wparams;        root.setLayoutParams(wparams,false);    }

我相信你可以通过直接调用布局来制造一些混乱.请改用WindowManager.updateVIEwLayout.它会更慢,但更安全(只是IMO).

UPDATE

[来自:https://stackoverflow.com/a/11188273/327011]

WindowManager windowsManager = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE)WindowManager.LayoutParams windowParams = new WindowManager.LayoutParams();windowParams.x = <new X coord>;windowParams.y = <new Y coord>windowParams.height = myImageVIEw.getHeight();windowParams.wIDth = myImageVIEw.getWIDth();windowParams.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE                    | WindowManager.LayoutParams.FLAG_NOT_touchABLE                    | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON                    | WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN                    | WindowManager.LayoutParams.FLAG_LAYOUT_NO_liMITS;windowParams.format = PixelFormat.TRANSLUCENT;            windowParams.windowAnimations = 0;windowManager.updateVIEwLayout(myImageVIEw,windowParams);
总结

以上是内存溢出为你收集整理的如何在Android中移动视图?全部内容,希望文章能够帮你解决如何在Android中移动视图?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1145464.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存