0
点赞
收藏
分享

微信扫一扫

Android线性与相对布局

树下的老石头 2022-04-15 阅读 38
android

目录

一、详解HelloWorld

1.Activity

2.布局文件

3.清单文件

二、布局基础

1、布局的作用

2、布局的种类

3、添加布局的方式

三、线性布局(重点)

线性布局的使用

四、相对布局(重点)

一、详解HelloWorld

1.Activity

--MainActivity

public class XxxActivity extends Activity{}   与Java中的   public class XxxFrame extends JFrame{}类似

--onCreate()(来自父类)

程序首先执行的方法,相当于java中的main方法,        可以做一些初始化的工作

--setContentView()    设置内容视图   setContentView(R.layout.activity_main)

R文件:Packages模式

由于版本不一样, 在android中的位置不一样, 我的文件位置:Project-->AndroidStudioProjects-->app-->build-->intermediates-->runtime_symbol_list-->debug-->R.txt

R文件:为每一个资源文件按类别分配一个索引;  使程序员可以通过R.类别名.资源名去操作对应的资源

2.布局文件

布局文件存放在layout文件夹中。创建布局文件:Android-->app-->res-->layout-->右键-->New-->layout resource file;文件名称全小写

3.清单文件

清单文件即配置文件

二、布局基础

1、布局的作用

布局是指对界面结构的全面规划与安排,通过API中提供的各种布局能够快速的完成对界面的设计。

2、布局的种类

线性布局(LinearLayout

方向:垂直线性布局和水平线性布局;如果所需要用到的控件有很强的从左至右或从上至下的排列感觉时可考虑用

相对布局(RelativeLayout)

内部的子视图与 添加顺序无关

帧布局(FrameLayout)

有层次的布局 

表格布局(TableLayout)

网格布局(GridLayout)

约束布局(ConstraintLayout)

可用较少的代码做出较为复杂的效果 

3、添加布局的方式

(1)利用xml文件设计

(2)使用java代码添加

package com.example.myapplication;
import androidx.appcompat.app.AppCompatActivity;

import android.graphics.Color;
import android.os.Bundle;
import android.view.ViewGroup;
import android.widget.LinearLayout;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //setContentView(R.layout.activity_main);
        //1.根布局为线性布局
        LinearLayout l1 = new LinearLayout(this);
        //2.设置宽高
        l1.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
        //3.背景设为红色
        l1.setBackgroundColor(Color.RED);
        //4.指定此Activity的内容视图为该线性布局
        setContentView(l1);
    }
}

三、线性布局(重点)

线性布局的使用

文件名需全部小写,可以有数字和下划线,但不能以数字开头

布局属性

 单位常用的有dp(尺寸单位、像素单位)、sp(用于字体方面,可用于设置字体大小时)、px(像素单位,但与dp不同,通常用dp)

orientation方向: vertical   垂直的       horizontal   水平的(默认为水平的)

layout_weight:权重,控件在指定的方向上按照权重分配大小使用时将对应的宽高属性调为0dp

android:layout_gravity:重力偏向,偏向父容器那里bottom下,center中,top顶,left左,right右,center_horizontal水平居中,ceneter_vertical垂直居中,clip_horizontalclip_vertical

android:gravity重力偏向内容偏向

四、相对布局(重点)

1.相对布局属性设置

(1)参照于父容器,取值为:true/false

android:layout_centerInParent   完全居中于父容器                                      android:layout_alignParentLeft 在父容器的左边,居左                            android:layout_alignParentRight 在父容器中居右                                      android:layout_alignParentTop 在父容器中居上                                      android:layout_alignParentBottom 在父容器中居下                              android:layout_centerHorizontal 水平居中                                            android:layout_centerVertical 垂直                                                                                                    属性之间不冲突时,可以一起使用

(2)参照于其他控件,取值为:其他控件id

1.在参照物的某边                                                                                                        android:layout_toLeftOf 在....左边                                                                  android:layout_toRightOf 在....右边                                                                              android:layout_above 在...上面                                                                                  android:layout_below 在...下面                                                                                                        2.和参照物的某边对齐                                                                                                android:layout_alignTop 和参照物的上边线对齐                                                  android:layout_alignBottom 和参照物的下边线对齐                                                      android:layout_alignLeft 和参照物的左边线对齐                                                    android:layout_alignRight 和参照物的右边线对齐

举报

相关推荐

0 条评论