- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试在 Android Activity 中动态创建并移动图像。但是,setX() 和 setY() 方法似乎无法正常工作。它在首次创建和放置图像时正确设置图像的位置,但任何更新它的尝试都会导致图像被放置在错误的位置。例如,图像在以下代码上移动:
ImageView image;
RelativeLayout layout = (RelativeLayout)findViewById(R.id.activity_this);
if(action == MotionEvent.ACTION_DOWN){
image = new ImageView(MyClass.this);
layout.addView(image, width, height);
image.setX(206);
image.setY(206);
}
else if(action == MotionEvent.ACTION_MOVE){
if(image != null){
image.setX(206);
image.setY(206);
}
}
在 ACTION_MOVE 上,即使 x 和 y 位置值保持不变,图像也会移动。图像的父级保持不变。大小保持不变。如果我得到 x 和 y 值,它仍然会显示 206,但它不再位于 Activity 的 (206, 206) 处。我不知道为什么会这样。我找不到任何迹象表明图像已被更改,除了它物理上改变了位置。
最佳答案
真的,这不应该发生。或者,尝试设置另一个变量并为其设置 x 和 y,或者获取 x 和 y 并为相同位置的每个变量添加 0。
如 Android - Use of view.setX() and setY in api 8 中所述,如果您搜索过,还有另一种解决方案甚至可以在 api 8 之前使用。LayoutParams
的工作原理是这样的 -
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT); //WRAP_CONTENT param can be FILL_PARENT
params.leftMargin = 206; //XCOORD
params.topMargin = 206; //YCOORD
childView.setLayoutParams(params);
那里有更多信息。希望对您有所帮助
关于Android setX() 和 setY() 表现怪异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16782705/
我需要为 Java 设置一个系统环境变量。我目前正在使用这种方法: setx /M JAVA_HOME "C:\Program Files (x86)\Java\jdk1.6.0_17" 我的问题:是
我使用setx命令设置了OGRE_HOME: setx OGRE_HOME D:\Program Files\OgreSDK 现在我需要更改为OGRE_HOME 的值。如何搜索我设置的所有值?如果我再
我已经尝试通过下面的命令通过批处理文件将一些路径附加到系统路径变量: setx PATH "%PATH%;C:\Program Files\MySQL\MySQL Server 5.5\bin" 运行
谁能解释这个结果? 设置路径后,没有变化。这是在管理员命令行中运行的: C:\Windows\system32>setx path "C:\Windows\system32;C:\Windows;C:
我需要存储一个值(时间戳)并稍后在批处理文件中检索它。因此,我在 SO 中搜索了有关如何存储持久变量的答案并找到了 setx。 我是这样使用的: C:\tmp>setx TIME_VAR %time%
我正在尝试在 win32 shell 脚本中更新系统 Path 变量,但前提是值不存在。 我当前的版本看起来像这样: for %%f in (xyz.exe) DO if [%%~$PATH:f]==
我想使用 setx 添加一个用户变量。我试过: setx LOL abcd > SUCCESS: Specified value was saved echo %LOL% > %LOL% 为什么不设置
我需要一个系统变量并为其分配一个空字符串值。我试过了 setx samplepassword "" 但是在echo %samplepassword% , 应该是空字符串的是 %samplepasswo
我正在尝试通过 cmd 脚本设置 var,但遇到了一些问题, setx /M JAVA_HOME "D:\Tool\JDK" setx /M PATH "%PATH%;%JAVA_HOME%\bin;
我写了以下内容: public class Point { private double _radius , _alpha; public Point ( int x , int
我正在使用 setX 和 setY 来移动屏幕上的 View 。但是,我读到 android 首先需要计算 View 位置,否则它会给出 NullPointerException(对我来说是什么)。我
现在我知道这个问题似乎有一个明显的答案,但实际上 setX 和 setY 函数出了什么问题,为什么它们不能按预期工作。我正在尝试在应用程序运行到某些位置时动态移动 View 。它们在我使用 mdp 的
View 上的 setX 和 setTranslationX 有什么区别?它们对我来说似乎是一样的,但它们都存在于 android 平台上。 谢谢 最佳答案 来自 setX() 的文档: Sets t
我正在尝试制作一个简单的应用程序,以便更好地了解如何在 Android 上使用触摸事件。现在,我的 Activity 只是将 ImageView 移动到屏幕上触摸的坐标(MotionEvent 的坐标
我正在尝试在 Android Activity 中动态创建并移动图像。但是,setX() 和 setY() 方法似乎无法正常工作。它在首次创建和放置图像时正确设置图像的位置,但任何更新它的尝试都会导致
我有一个包含大量批处理文件的文件夹 -- 超过了 Windows 资源管理器一次在屏幕上显示的数量。其中一些聚集在一起,需要按顺序执行(但不是在相同批处理中,因为在批处理文件可以处理的步骤之外,中间步
你好,目前我想创建一个简单的动画,设置 TextView 的 X 位置延迟..这是我的代码.. public class MainActivity extends Activity { flo
我刚刚重新配置了一个以前工作的项目以与早期版本的 android (2.2) 一起工作......只是发现它不会编译像这样的行: mybutton.setX(myfloatvalue); 提示“方法
我在设置全局环境变量时遇到问题 PATH永久使用 SETX . 我已经阅读了类似问题的答案,例如 Invalid syntax with setx以及阅读 SS64 上的语法. 据我所知,以下行遵循
这个问题在这里已经有了答案: How to update PATH variable permanently from Windows command line? (7 个答案) 关闭 8 年前。
我是一名优秀的程序员,十分优秀!