使用活动扩展视图,在布局的底部,屏幕的左下角和右下角有一个向左和向右按钮。
在屏幕中间有一个男孩的图像按钮。
我想以一种方式实现,当用户按下左侧按钮时,男孩图像按钮将向左移动(仅限于屏幕的左侧),因此对右侧按钮的操作:男孩将向右移动。
我想知道如何实现上述目标?
我尝试了以下方法,希望能在第一步中得到男孩的坐标
public void get_boy_location()
{
Rect rectf = new Rect();
image_boy.getLocalVisibleRect(rectf);
textView_testing.setText(
"n WIDTH:" + String.valueOf(rectf.width()) +
"n HEIGHT:" + String.valueOf(rectf.height()) +
"n left:" + String.valueOf(rectf.left) +
"n right:" + String.valueOf(rectf.right) +
"n top:" + String.valueOf(rectf.top) +
"n bottom:" + String.valueOf(rectf.bottom)
);
}
但是所有值都报告为0。
问题:1.我们如何实现左右控制按钮来水平移动男孩图像按钮?
- 如何获取图像按钮的坐标
谢谢!!
关于如何在屏幕边界内移动视图,这里有一个很好的解释:
Android View.rollTo(x,y)滚动到哪里?
但基本上,您将希望使用scrollTo(int x, int y)
方法
我改为使用image_boy.setX(boy_x);
计算,其中boy_x
是一个整数,然后当触摸/触摸右侧按钮时,它的值将增加1,当触摸/接触左侧按钮时,其值将减少1。
不确定这是否会对你有所帮助,但我遇到了同样的问题,我可以使用这些方法来做到这一点,setTranslationX(float)setTranslationY(float
你可以像这个一样使用它
Button button = (button) findViewById(your id);
button.setTranslationX(a float value);
以下是提供更多信息的android文档http://developer.android.com/reference/android/view/View.html#attr_android:translationX
还请注意,所需的android SDK的最低级别是11