android的布局管理器

理论上通过setContentView(view)能够把一个view设置到activity中,但当你有很多个view控件的时候,就需要用android的布局管理器来管理view控件了。

android布局管理器有以下几种:

1.线性布局  LinearLayout

2.框架布局  FrameLayout

3.表格布局  TableLayout

4.相对布局  RelativeLayout

5.绝对布局  AbsoluteLayout

一、LinearLayout 线性布局管理器

线性布局分为水平布局和垂直布局两种。水平布局就是把view水平排列,通过layout.setOrientation(LinearLayout.HORIZONTAL);垂直是吧View垂直排列,通过layout.setOrientation(LinearLayout.VERTICAL)来实现。

public class MainActivity extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        LinearLayout lly = new LinearLayout(this);
        LinearLayout.LayoutParams llp = new LinearLayout.LayoutParams(
                ViewGroup.LayoutParams.MATCH_PARENT,
                ViewGroup.LayoutParams.MATCH_PARENT);
        lly.setOrientation(LinearLayout.VERTICAL);

        setContentView(lly, llp);

        LinearLayout.LayoutParams viewparams = new LinearLayout.LayoutParams(
                ViewGroup.LayoutParams.MATCH_PARENT,
                ViewGroup.LayoutParams.WRAP_CONTENT);

        TextView tv1 = new TextView(this);
        tv1.setText("This is Text1");
        tv1.setBackgroundColor(Color.rgb(0, 255, 30));

        TextView tv2 = new TextView(this);
        tv2.setText("This is Text2");
        tv2.setBackgroundColor(Color.rgb(255, 30, 60));

        lly.addView(tv1,viewparams);
        lly.addView(tv2,viewparams);

    }    

}

上边代码中Layoutparams llp是为了保证setContentView时候 lly布局能够填满整个屏幕;而第二个Layoutparams viewparams则是为了让lly里边的控件都能够保持长度填满lly,高度取控件自身高度,最后通过addView(view, params),通过实验发现其实这里不设置params,直接addView(view)的效果是一样的,都是长填满,高取控件高度。

二、FrameLayout 框架布局管理器

这个感觉没有什么太大的作用,FrameLayout就是把布局里边的所有控件都放到左上角,并逐个覆盖。

android的布局管理器

时间: 2024-10-18 23:58:01

android的布局管理器的相关文章

Android【布局管理器语法】之四大布局【LinearLayout,TableLayout,FrameLayout,RelativeLayout】

LinearLayout 线性布局是将放入其中的组件按照垂直(vertical)或者水平(horizontal)方向来布局, 也就是控制其中组件横向排列或者纵向排列.在线性布局中 每一行[针对垂直排列]或每一列[针对水平排列]只能放一个组件 . 注意:Android线性布局不会换行,当组件一个挨着一个排列到窗体边缘后 剩下的组件将不会显示出来 排列方式由android:orientation属性控制,对齐方式由android:gravity属性来控制 (1)常见属性: android:orien

Android【布局管理器】——帧布局FrameLayout

帧布局FrameLayout在Android的五大布局中是最简单的布局方式,在需要布局中的控件有重叠的情况下才使用. FrameLayout是一个轻量级的布局控件,Relativelayout能完全的实现FrameLayout的功能,所以在选择的时候就需要自己好好设计了. 在使用FrameLayout的时候,发现布局里面的控件设置layout_margin类的属性没有效果.后来百度一下才知道FrameLayout中的控件layout_margin设置要依赖layout_gravity属性,否则l

Android【布局管理器】——相对布局RelativeLayout

相对布局要比前面讲的线性布局和表格布局要灵活一些,所以平常用得也是比较多的.相对布局控件的位置是与其周围控件的位置相关的,从名字可以看出来,这些位置都是相对的,确定出了其中一个控件的位置就可以确定另一个控件的位置了. 本次实验就是显示如下的activity: 其中只有2个button,1个textview,1个edittext. 实现上面activity比较简单,其xml代码如下: <span style="font-family:Comic Sans MS;font-size:18px;

Android【布局管理器】——线性布局LinearLayout

LinearLayout是线性布局控件:要么横向排布,要么竖向排布 决定性属性:必须有的! android:orientation:vertical (垂直方向) .horizontal(水平方向) 常用属性: android:gravity------------设置的是控件自身上面的内容位置 android:layout_gravity-----设置控件本身相对于父控件的显示位置 android:layout_weight----- 给控件分配剩余空间 竖向排布实例: <span style

android v7兼容包RecyclerView的使用(三)——布局管理器的使用

前两篇文章 android v7兼容包RecyclerView的使用(二) android v7兼容包RecyclerView的使用(一) 介绍了RecyclerView的基本用法以及与它相关的重要的几个类,本篇文章介绍布局管理器的具体用法. 为了演示布局管理器的使用,找了很多个例子,都没有找到感觉合适的例子,后来google了一把,发现了一个比较适合说明问题的例子.所以就拿该例子来解释吧. 在演示布局管理器前,我们先把UI部分搭建完成.由于使用到了V7兼容包的另一个包CardView,所以在这

Android布局管理器浅析

在Android应用开发中,为了更好地管理Android应用的用户界面里的各组件,Android提供了布局管理器来实现Android应用的图形用户界面平台无关性,其中所有布局管理器的父类为ViewGroup.一般来说,推荐使用布局管理器来管理组件的分布.大小,而不是直接设置组件位置和大小.在开发当中,最常用的方法是预先设置好容器边距(分布).大小,然后其包含的组件使用"fill_match"或"wrap_content"自动适应父容器即可. 一.LinearLayo

Android布局管理器(线性布局)

线性布局有LinearLayout类来代表,Android的线性布局和Swing的Box有点相似(他们都会将容器里面的组件一个接一个的排列起来),LinearLayout中,使用android:orientation属性控制布局是水平还是竖直布局(vertical水平,horizontal竖直) XML属性 相关方法 说明 android:baselineAligned setBaselineAligned(boolean) 该属性设置为false,将会阻止该布局管理器与它的子元素的基线对其 a

Android布局管理器(表格布局)

表格布局有TableLayout所代表,TableLayout继承了LinearLayout,因此他的本质依然是LinearLayout. 表格布局采用行.列的形式来进行管理,在使用的时候不需要声明多少行.多少列,而是通过添加TableRow.其他组件来控制表格的行数和列数. 每次向TableLayout添加一个TableRow,该TableRow就是一个表格行,同时TableRow也是容器,可以在其中不断的添加其他的组件,每添加一个子组件,该表格的列就增加一列 在表格布局管理器中,可以为单元格

Android布局管理器-使用LinearLayout实现简单的登录窗口布局

场景 Android布局管理器-从实例入手学习相对布局管理器的使用: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103838924 线性布局LinearLayout,分为水平和垂直线性布局. 实现效果如下 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 将activity修改为LinearLayout