通过活动扩展视图, 在布局的底部,屏幕的左下角有一个左右按钮。
屏幕中间有一个男孩形象按钮。
我想以一种方式实现,当用户按下左按钮时,男孩图像按钮将向左移动(限于屏幕的左侧),因此对于右按钮的操作:男孩将向右移动。
我想知道如何实现上述目标?
我尝试了以下内容,希望能在第一步获得男孩的坐标
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.我们如何实现控制左右按钮水平移动男孩图像按钮?
谢谢!
答案 0 :(得分:0)
关于如何在此链接的屏幕范围内移动视图有一个很好的解释:
Where does Android View.scrollTo(x, y) scroll to?
但基本上你会想要使用scrollTo(int x, int y)
方法
答案 1 :(得分:0)
我使用image_boy.setX(boy_x);
来解决问题,其中boy_x
是一个整数,然后在触摸/触摸右键时将其值增加1,当左边是正确值时,将其值减去1触摸/触摸。
答案 2 :(得分:0)
不确定这是否会对您有所帮助,但我遇到了同样的问题,我能够使用这些方法来做到这一点,setTranslationX(float)setTranslationY(float)
你可以像这样使用它
Button button = (button) findViewById(your id);
button.setTranslationX(a float value);
这是提供更多信息的http://developer.android.com/reference/android/view/View.html#attr_android:translationX
的android文档另请注意,所需的android SDK最低级别为11