美文网首页Monster的Android世界
Android 代码简单布局

Android 代码简单布局

作者: 大哥说了不收你 | 来源:发表于2017-01-10 15:40 被阅读0次

    很多时候我们在写Android布局都是在xml里写,但是有时候在xml里写满足不了我们的需要,这时候我们就需要在代码中来写我们的布局了。那么,在代码中我们怎么来写呢?

    今天碰巧需要用到,所以就简单写一写。(有不足之处请指正,谢谢)

    首先,我们熟悉的,新建Activity的时候开始我们都会有如下写法:

    protected void onCreate(Bundle savedInstanceState) {    
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    

    这里的setContentView(R.layout.main)就是我们需要的布局文件。那么,如果我们把这里的R.layout.main换成自己的布局不就OK了吗?

    好,我们开始。

    先从我们熟悉的LinearLayout开始

    我用自己的LinearLayout替换R.layout.main,一般我们在xml里都是这么写:

    <LinearLayout      
        android:orientation="vertical"    
        android:layout_width="match_parent"    
        android:layout_height="match_parent"    >
    </LinearLayout>
    

    所以,在代码中,我们需要设置orientation和宽高你这里需要用到一个LayoutParams,它是用来设置我们布局的位置大小。所以:

    //我们先new一个LinearLayout
    LinearLayout linearlayout = new LinearLayout(this);
    linearLayout.setOrientation(LinearLayout.VERTICAL);
    //布局位置样式
    LinearLayout.LayoutParams linParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.MATCH_PARENT);
    linearlayout .setLayoutParams(linParams);
    

    这样我们就把最外层的布局写出来了(线性布局,相对布局等大同小异),现在我们往里边添加控件:

    //添加一个TextView
    TextView textView1 = new TextView(this);
    //设置样式和xml差不多,不多讲
    textView1.setText("Test TextView1")
    textView1.setTextSize(18);
    //同样,也需要设置TextView的位置大小
    LinearLayout.LayoutParams text1Params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT);
    //将textVIew1添加进LinearLayout布局
    linearlayout .addView(textView1,text1Params );
    //OK我们已经将我们的布局添加进了LinearLayout,最后,非常最要的一步千万别忘
    setContentView(linearlayout );
    

    这样我们就算完成了,还算简单。LinearLayout就说这么多吧。下面我们说RelativeLayout,相对来说比LinearLayout复杂一点点。

    RelativeLayout

    废话不多说,直接来:

    RelativeLayout relativeLayout = new RelativeLayout(this);
    relativeLayout.setLayoutParams(new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT));
    
    //写两个BUTTON
    Button button = new Button(this);
    button.setText("button");
    button.setTextSize(25);
    //setId这一很重要,因为在RelativeLayout我们都是根据ID来确定各自的位置的
    button.setId(1);
    RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
    relativeLayout.addView(button,layoutParams);
    
    Button button2 = new Button(this);
    button2.setTextSize(25);
    button2.setText("button2");
    button2.setId(2);
    RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
    //将第二个Button放在第一个Button右边(照葫芦画瓢,上下左右随便放)
    layoutParams.addRule(RelativeLayout.RIGHT_OF,1);
    relativeLayout.addView(button2,layoutParams);
    
    setContentView(relativeLayout);
    

    截图有点渣,将就看,这样就完成了。简单吧。好了,代码布局就说到这里,其他的布局相对这两个来说用的很少,有兴趣的去研究研究吧。
    纯手打,请勿粘贴复制,出错不负责




    相关文章

      网友评论

        本文标题:Android 代码简单布局

        本文链接:https://www.haomeiwen.com/subject/fofyuttx.html