Changing position of a button

前端 未结 4 1749
有刺的猬
有刺的猬 2020-12-03 18:45

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 t

相关标签:
4条回答
  • 2020-12-03 18:47

    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));
    
    0 讨论(0)
  • 2020-12-03 18:55

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

    0 讨论(0)
  • 2020-12-03 18:58

    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>);
    ....
    
    0 讨论(0)
  • 2020-12-03 18:59

    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.

    0 讨论(0)
提交回复
热议问题