Android按钮位置编程

Par*_*ani 8 android android-widget

我的应用程序中有一个按钮.我想以编程方式更改其位置.我在XML中创建了一个按钮,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >

<Button android:text="@+id/Button01" 
        android:id="@+id/Button01" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:layout_marginLeft="50px"
        android:layout_marginTop="10px"
        >
</Button>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

假设我想将按钮的位置设置为从左侧100px(如layout_marginLeft ="100px").我该如何以编程方式完成?请帮我解决问题.

Leo*_*Leo 9

卢克,用了

RelativeLayout.LayoutParams rel_btn = new RelativeLayout.LayoutParams(
                    LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);

rel_btn.leftMargin = myXPosition;
rel_btn.topMargin = myYPosition;
rel_btn.width = buttonW;
rel_btn.height = buttonH;

myButton.setLayoutParams(rel_btn);
Run Code Online (Sandbox Code Playgroud)


Pen*_*m10 6

您需要获取视图并转换为Java对象,然后调用setPadding它.

像这样的事情会有所成效

Button myBtn;
myBtn = (Button) findViewById(R.id.Button01);
myBtn.setPadding(0,100,0,0);
Run Code Online (Sandbox Code Playgroud)

在此处阅读更多内容:https: //developer.android.com/reference/android/view/ViewGroup.MarginLayoutParams.html