androi代码布局初解

前言:代码布局真坑!但是谷歌也提供了几个方法!让我们通过代码去布局!

不管创建相对布局还是线性布局。。都离不开LayoutParams这个类
LayoutParams这个类的作用就是设置布局的属性。。比如布局的宽高啊!

    LayoutParams params = new LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT);

设置布局宽高之后我们通过:layout.setLayoutParams(params);方法加载布局的宽高

我们创建完布局之后再创建一个子控件。。

比如:创建一个textview;

    TextView textView = new TextView(context);

有了TextView 对象之后我们还要给控件设置高度宽度及其其他属性;

设置宽高:    LayoutParams t_Params = new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);

设置完宽高之后并不能满足实习的布局需求。。比如:要这个控件在右边,距离顶部多少距离之类的需求。但是我们都知道

布局一般从左开始布局的。。所以:

t_Params .addRule();这个方法提供了控制控件的是否在哪

在右:t_Params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);

在左:那就不用设置了

既然谷歌提供了addRule()方法让我们设置控件的位置。。同样也会提供距离哪多少距离的方法

setMargins(int left, int top, int right, int bottom)

这个方法跟android:layout_margin=""很相似。。

假如我setMargins(10, 20,0, 0);

这时候就变成了控件距离左边10dp,距离顶部20dp;

控件的基本属性设置完成之后。。我们通过

layout.addView(textView, t_Params);

layout是你布局对象

textView 为控件

完整代码:

private Context context = MainActivity.this;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        RelativeLayout layout = new  RelativeLayout(MainActivity.this);

        LayoutParams params = new LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT);

        layout.setLayoutParams(params);

        TextView textView = new TextView(MainActivity.this);
        LayoutParams t_Params = new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
        t_Params.setMargins(20, 30, 40, 0);
        t_Params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
        textView.setText("23333333333333");
        layout.addView(textView, t_Params);
        
        setContentView(layout);
    }

猜你喜欢

转载自my.oschina.net/u/2355512/blog/749810