Android 的 RelaliveLayout 布局的参数定义:
为温江等地区用户提供了全套网页设计制作服务,及温江网站建设行业解决方案。主营业务为成都网站制作、成都网站设计、温江网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
android:layout_above="@id/xxx" --将控件置于给定ID控件之上
android:layout_below="@id/xxx" --将控件置于给定ID控件之下
android:layout_toLeftOf="@id/xxx" --将控件的右边缘和给定ID控件的左边缘对齐
android:layout_toRightOf="@id/xxx" --将控件的左边缘和给定ID控件的右边缘对齐
android:layout_alignLeft="@id/xxx" --将控件的左边缘和给定ID控件的左边缘对齐
android:layout_alignTop="@id/xxx" --将控件的上边缘和给定ID控件的上边缘对齐
android:layout_alignRight="@id/xxx" --将控件的右边缘和给定ID控件的右边缘对齐
android:layout_alignBottom="@id/xxx" --将控件的底边缘和给定ID控件的底边缘对齐
android:layout_alignParentLeft="true" --将控件的左边缘和父控件的左边缘对齐
android:layout_alignParentTop="true" --将控件的上边缘和父控件的上边缘对齐
android:layout_alignParentRight="true" --将控件的右边缘和父控件的右边缘对齐
android:layout_alignParentBottom="true" --将控件的底边缘和父控件的底边缘对齐
android:layout_centerInParent="true" --将控件置于父控件的中心位置
android:layout_centerHorizontal="true" --将控件置于水平方向的中心位置
android:layout_centerVertical="true" --将控件置于垂直方向的中心位置
编程实例:
定义布局 activity_main.xml
android:id="@+id/r1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#edab4a" >
字符串资源 sring.xml
主活动 MainActivity.java
package com.malakana.relativelayout;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.app.Activity;
public class MainActivity extends Activity {
RelativeLayout r1;
Button shang;
Button xia;
Button zuo;
Button you;
ImageView currButton;
ImageView start;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
r1 = (RelativeLayout) findViewById(R.id.r1);
shang = (Button) findViewById(R.id.Shang);
xia = (Button) findViewById(R.id.Xia);
zuo = (Button) findViewById(R.id.Zuo);
you = (Button) findViewById(R.id.You);
start = (ImageView) findViewById(R.id.Start);
currButton = start;
shang.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
EditText temp = new EditText(MainActivity.this);
temp.setText(R.string.shuoming);
//设置控件位置
RelativeLayout.LayoutParams lp_1 =
new RelativeLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,95);
lp_1.addRule(RelativeLayout.ABOVE,currButton.getId()); //ABOVE 在currButton之上
lp_1.addRule(RelativeLayout.CENTER_HORIZONTAL,currButton.getId());
//将控件添加到布局中
r1.addView(temp,lp_1);
}});
xia.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
EditText temp = new EditText(MainActivity.this);
temp.setText(R.string.shuoming);
//设置控件位置
RelativeLayout.LayoutParams lp_1 =
new RelativeLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,95);
lp_1.addRule(RelativeLayout.BELOW,currButton.getId()); //BELOW 在currButton之下
lp_1.addRule(RelativeLayout.CENTER_HORIZONTAL,currButton.getId());
//将控件添加到布局中
r1.addView(temp,lp_1);
}});
zuo.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
EditText temp = new EditText(MainActivity.this);
temp.setText(R.string.shuoming);
//设置控件位置
RelativeLayout.LayoutParams lp_1 =
new RelativeLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,95);
lp_1.addRule(RelativeLayout.LEFT_OF,currButton.getId()); //LEFT_OF 将控件的右边缘和currButton的左边缘对齐
lp_1.addRule(RelativeLayout.CENTER_VERTICAL,currButton.getId()); //将控件置于垂直方向的中心位置
//将控件添加到布局中
r1.addView(temp,lp_1);
}});
you.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
EditText temp = new EditText(MainActivity.this);
temp.setText(R.string.shuoming);
//设置控件位置
RelativeLayout.LayoutParams lp_1 =
new RelativeLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,95);
lp_1.addRule(RelativeLayout.RIGHT_OF,currButton.getId()); //RIGHT_OF 将控件的左边缘和currButton的右边缘对齐
lp_1.addRule(RelativeLayout.CENTER_VERTICAL,currButton.getId()); //将控件置于垂直方向的中心位置
//将控件添加到布局中
r1.addView(temp,lp_1);
}});
}
}
效果图: