更改按钮的位置

问题描述:

我在XML文件的AbsoluteLayout中有一个按钮。从那里我可以设置按钮的(x,y)位置。更改按钮的位置

如何以编程方式获取并设置按钮的(x,y)坐标?

谢谢大家。

哼,你可以试试这个。 。 。 Is there an easy way to add a border to the top and bottom of an Android View? 只要去扔这个网站你会得到Sollution。如果没有,然后回复我。 如果它帮助你,然后给我一票。 谢谢。

您必须获得对你的引用按钮,例如通过调用findViewById()。当你得到这个按钮的引用时,你可以用按钮设置x和y的值。 setX()和按钮。 setY()

.... 
Button myButton = (Button) findViewById(R.id.<id of the button in the layout xml file>); 
myButton.setX(<x value>); 
myButton.setY(<y value>); 
.... 
+0

它说的方法setX的(INT)是未定义的类型按钮。 – WISH 2011-04-13 09:37:43

+0

恩,这很奇怪。 Button类扩展了View类,你可以在这里找到两个方法setX()和setY()。试试这个:View myButton =(View)findViewById(R.id. ); – Flo 2011-04-13 09:42:01

+0

我们有所有属性的方法,但dnt有任何方法来设置按钮或其他小部件的x和y。 :( – WISH 2011-04-13 09:43:48

你要找的答案是LayoutParams。首先,我建议而不是使用AbsoluteLayout - 它已弃用 - 并使用其他的东西,也许是一个FrameLayout,并只使用左边距和上边距作为您的x和y偏移量。

然而,要回答你的问题:

Button button = (Button)findViewById(R.id.my_button); 
AbsoluteLayout.LayoutParams absParams = 
    (AbsoluteLayout.LayoutParams)button.getLayoutParams(); 
absParams.x = myNewX; 
absParams.y = myNewY; 
button.setLayoutParams(absParams); 

或者:

Button button = (Button)findViewById(R.id.my_button); 
button.setLayoutParams(new AbsoluteLayout.LayoutParams(
    AbsoluteLayout.LayoutParams.FILL_PARENT, AbsoluteLayout.LayoutParams, 
    myNewX, myNewY));