0

我有一个RelativeLayoutactivity.xml的代码

    <RelativeLayout 
    android:layout_height="50dip"
    android:layout_width="fill_parent"
    android:id="@+id/relativeLayout"          
    android:background="#686868"  
>
    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:layout_margin="5dip"
        android:layout_alignParentLeft="true"
        android:text="Back"
        android:textColor="#FFFFFF"
        android:id="@+id/btnBack"
    />
    <TextView 
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/title_header"  
        android:text="Header of page"  
        android:layout_centerInParent="true"
        android:textColor="#FFFFFF"
    />
</RelativeLayout>

这是活动的代码:-

    public class MainActivity extends Activity {
        int valCheck;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity);
                if(valCheck==0)
                {
                    //here set title again for backbutton is "backPreviousPage" and set  
                    //position again of title_header is right of backButton with 
                    //margin=5dip(not set position is centerInParent as code

                }


    }

}

我不知道通过代码在 relativeLayout 中获取元素和设置边距的方法..你能帮我吗?

4

4 回答 4

0

试试这个方法。

RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams)relativeLayout.getLayoutParams();
params.setMargins(80, 0, 0, 0); //left, top, right, bottom
params.height = 60; //set height dynamically
params.width = 200; // set width dynamically
relativeLayout.setLayoutParams(params);

我希望这能帮到您。

于 2013-06-27T04:52:52.713 回答
0

Try this code....

<LinearLayout 
    android:layout_height="50dip"
    android:layout_width="fill_parent"
    android:id="@+id/linearLayout"          
    android:background="#686868"
    android:orientation="horizontal"  
>
<Button
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:layout_margin="5dip"
    android:layout_alignParentLeft="true"
    android:text="Back"
    android:textColor="#FFFFFF"
    android:id="@+id/btnBack"
/>
<TextView 
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:id="@+id/title_header"  
    android:text="Header of page"  
    android:layout_centerInParent="true"
    android:textColor="#FFFFFF"
/>
</LinearLayout>

and in java code...

public class MainActivity extends Activity {
    int valCheck;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity);

    Button btn = (Button) findViewById(R.id.btnBack);
            if(valCheck==0)
            {
                //here set title again for backbutton is "backPreviousPage" and set  
                //position again of title_header is right of backButton with 
                //margin=5dip(not set position is centerInParent as code
                btn.setText("backPreviousPage");
            }
    }
}
于 2013-06-27T05:34:55.487 回答
0

要访问 Android 代码中的 UI 元素,请使用该findViewById方法。例如:

Button btnBack = (Button)findViewById(R.id.btnBack);

一旦您可以访问您需要的所有元素,您就可以使用 API 中提供的 setter 函数来根据需要更改布局。由于大多数(如果不是全部)UI 元素是 View 类的子类,因此您需要的方法很可能会在那里定义。这是一个很好的参考:http: //developer.android.com/reference/android/view/View.html

所有 View 对象都继承该setLayoutParams方法。因此,您也可以将 Gunaseelan 建议的方法应用于您的 Button 和 TextView。

于 2013-06-27T04:58:45.280 回答
0

这可能会帮助你

RelativeLayout.LayoutParams params  = new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT);

    params.addRule(RelativeLayout.CENTER_IN_PARENT);
    params.addRule(RelativeLayout.RIGHT_OF, 1001);
    params.addRule(RelativeLayout.LEFT_OF, 1000);

这里 id 1001 和 1000 是我的EditText id,也动态添加到相对

于 2013-06-27T05:00:20.630 回答