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)参照于父容器,取值为: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         和参照物的右边线对齐

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值