Changing position of a button

余生长醉 提交于 2019-11-26 17:14:08

问题


I have one button in an AbsoluteLayout in an XML file. From there I am able to set the (x,y) position of the button.

How can I get and set the (x,y) coordinates of the button programmatically?

Thanks all.


回答1:


You have to get a reference to you button, for example by calling findViewById(). When you got the reference to the button you can set the x and y value with button.setX() and button.setY().

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



回答2:


The answer you're looking for is in LayoutParams. Firstly, I'd suggest not using AbsoluteLayout -- it's deprecated -- and using something else, maybe a FrameLayout, and just using the left and top margins as your x and y offsets.

However, to answer your question:

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

Or alternatively:

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



回答3:


hummm u can try this. . . Is there an easy way to add a border to the top and bottom of an Android View? Just go threw this site u will get the Sollution. If not then reply to me. And if its help u then give me a vote. Thanks.




回答4:


Try using the layout-method of the View: http://developer.android.com/reference/android/view/View.html#layout(int,%20int,%20int,%20int)



来源:https://stackoverflow.com/questions/5646929/changing-position-of-a-button

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!