Android---基础篇2|青训营笔记

81 阅读3分钟

这是我参与「第四届青训营 」笔记创作活动的的第2天
哈喽啊家人们,今天我又来写笔记咯,上一篇我们介绍了Android的历史和一些基本组件。
那么今天我们就从新建一个Android项目开始吧。

新建Android项目

  • 启动Android studio ,点击Create New Project image.png
  • 选择你要写运行在哪个设备的程序,然后选择模板
    • Phone and Tablet是运行在手机上的程序
    • wear os是运行在穿戴设备上的程序
    • Android TV是运行在电视机上的程序 image.png
  • 填写项目基本信息,名称,包名,选择存放的位置,使用编程语言以及SDK版本(我们一般选用Java语言,选择Android5.0以上的版本) image.png
  • 点击进行下一步,Gradle将创建项目(需要几分钟,看你的网络状态)
  • 这就创建完成了 image.png

文件目录结构

  • manifest:项目配置信息文件

  • Java:源代码和测试代码

  • res:资源目录,存储项目的资源

    目录结构资源类型
    res/values存放字符串、颜色、尺寸、数据、类型等资源
    res/layout存放xml布局文件
    res/drawable存放图片(.bmp.png.gif.jpg等)
    res/anim存放xml格式的动画资源
    res/menu存放菜单资源
    res/raw存放不参加编译的资源,一般是比较大的音频、视频、图片或文档
    res/assets存放不参加编译的资源,与raw相比,不会在R类中生成资源ID
    • res资源引用方法
      引用资源时需要使用R类,格式为:R.资源类型.资源名称
      例如在Activity中显示布局视图:setContentView(R.layout.main)
      例如在Java程序中要获得布局文件中的图片组件:img = (image)findViewById(R.id.alist)

Activity主程序

//声明应用程序包
package com.android.myapp;

//导入所需的包
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends Activity{//声明一个活动类
    @Override
    public void onCreate(Bundle savedInstanceState){//重写onCreate()方法
        super.onCreate(savedInstanceState);//调用父类方法
        setContentView(R.layout.main);//设置一个layout布局
    }
}

Android布局管理

  • 设计思想:采用常用的MVC模式(表现层View、控制层Control、业务层Model)

重要属性

组件大小单位

  • px:像素,屏幕的发光点
  • dp:设备独立像素,支持多分辨率设备的抽象单位
  • sp:设置字体大小

对齐方式 由android:gravity属性控制,其属性值有top(上)、bottom(下)、left(左)、right(右)、center_horizontal(水平居中)、center_vertical(垂直居中)等

常见布局方式

线性布局LinearLayout

将组件按照水平或垂直方向排列

  • 水平方向:android:orientation = "horizontal" image.png image.png
  • 垂直方向:android:orientation = "vertical" image.png image.png

帧布局FrameLayout

将组件放置在左上角位置,当添加多个组件时,后面的组件将遮盖之前的 image.png image.png

表格布局TableLayout

将页面划分成行列构成的单元格。 组件放置在哪一列:android:layout_colum="列号"

  1. android:collapseColumns:设置需要隐藏的列序号
  2. android:shrinkColumns:设置允许被收缩的列序号
  3. android:strechColumns:设置运行被拉伸的列序号

设计一个三行四列的表格布局

相对布局RelativeLayout

采用相对于其它组件位置进行布局的方式。
属性值:点击查看此引用 image.png image.png

网格布局GridLayout

把设置区域划分为若干行和若干列的网格,网格中的组件可以占据多行或多列 主要属性:

  • alignmentModel:设置布局管理器的对齐方式
  • columnCount:设置网格列的数据量
  • rowCount:设置网格行的数据量
  • layout_columnSpan:设置组件占据的列数
  • layout_rowSpan:设置组件占据的行数