Android移动应用开发教程④

  • 本文为第四篇,主要讲述了控件讲解介绍(总体思维导图),如何创建新模块,设置文本的内容,设置文本的大小(px,dp,sp不同字体大小的区别),设置文本的颜色(ARGB),设置背景颜色。最后学习了视图基础,如设置视图的高度宽度,设置视图的间距,设置视图的对齐方式。
  • 本文是对B站教程 动脑学院 Android教程 学习过程中所做的笔记!
  • 本文大部分为从视频中选取的知识点,其中有文字和小部分图片是由我自己编写的。
  • 本文承接上一篇文章《Android移动应用开发教程③》
  • 下一篇文章:《Android移动应用开发教程⑤》

一:前言

1.1:控件讲解介绍

根据原视频,我们将控件的讲解分为四块。简单控件

中级控件

高级控件

 自定义控件

1.2:创建新模块

 

 在此点击创建新模块

点击next后选择空模块,随后点击next然后点击finish

这样就成功创建了一个新模块。

二:文本显示

2.1设置文本的内容

  • 在XML文件中通过属性android:text来设置文本
  • 在Java代码中调用文本视图对象的setText方法设置文本
     

2.2:设置文本字体大小

  • 在Java 代码中调用setTextSize方法,即可指定文本大小。字号单位默认为sp。
  • 在XML文件中则通过属性 android:textSize 指定文本大小,此时需要指定字号单位。

2.2.1:关于字体大小

  • px:它是手机屏幕的最小显示单位,与设备的显示屏有关。
  • dp:它是与设备无关的显示单位,只与屏幕的尺寸有关。
  • sp:它专门用来设置字体大小,在系统设置中可以调整字体大小。
  • px=dp*dpi/160

1.px

px是手机屏幕的最小显示单位,它与设备的显示屏有关。一般来说,同样尺寸的屏幕(比如6英寸手机),如果看起来越清晰,则表示像素密度越高,以px计量的分辨率也越大。

2. dp
dp有时也写作dip,指的是与设备无关的显示单位,它只与屏幕的尺寸有关。一般来说,同样尺寸的屏幕以dp计量的分辨率是相同的,比如同样是6英寸手机,无论它由哪个厂家生产,其分辨率换算成dp单位都是一个大小。
3. sp
sp的原理跟dp差不多,但它专门用来设置字体大小。手机在系统设置里可以调整字体的大小(小、标准、大、超大)。设置普通字体时,同数值dp和sp的文字看起来一样大;如果设置为大字体,用dp设置的文字没有变化,用sp设置的文字就变大了。
       字体大小采用不同单位的话,显示的文字大小各不相同。例如,30px、30dp、30sp这3个字号,在不同手机上的显示大小有所差异。有的手机像素密度较低,一个dp相当于两个px,此时30px等同于15dp;有的手机像素密度较高,一个dp相当于3个px,此时30px等同于10dp。假设某个App的内部文本使用字号30px,则该App安装到前一部手机的字体大小为15dp,安装到后一部手机的字体大小为10dp显然后一部手机显示的文本会更小。

2.3:设置文本颜色

在Java代码中调用setTextColor方法即可设置文本颜色,具体色值可以从Color类取。

也可以通过16进制的方式自己设置(要加0x)需要八位十六进制数,若是六位,则透明度默认为00(即文字是透明的)

2.3.1:关于RGB颜色

RGB就是三原色(Red Green Blue)。RGBA中的A就是(alpha)透明度。

        色值有八位十六进制数与六位十六进制数两种表达方式,例如八位编码FFEEDDCC中,FF
表示透明度,EE表示红色的浓度,DD表示绿色的浓度,CC表示蓝色的浓度。
        透明度为FF表示完全不透明,为00表示完全透明。RGB三色的数值越大,表示颜色越浓,也就越亮;数值越小,表示颜色越淡,也就越暗。

2.3.2:在xml中设置字体颜色

        在xml中利用android:textColor标签即可设置颜色,后面的引号中要加#。若使用八位十六进制数则和java代码相同,若使用六位十六进制数则默认透明度为ff(即文字不透明)。

        也可以在value文件夹中的colors  xml文件夹中自定义颜色,并在xml文件中直接引用

2.3.3:设置背景颜色

       通过java代码setBackgroundColor可以设置背景颜色 

也可以通过setBackgroundResource在java代码中设置自定义的颜色

在xml界面布局文件中可以直接利用android : background标签设置颜色

三:视图基础

3.1:什么是视图

视图:视图就是view的意思。例如TextView就是视图的一个子类。而button继承于TextView。

在安卓中能看到的所有控件基本都直接或间接继承于view

3.2:设置视图的宽高

3.2.1:在xml中设置视图的宽高

视图宽度通过属性android:layout_width表达,视图高度通过属性android:layout_height来表达

长宽高的取值主要有一下三种:

  • match_parent:表示与上级视图保持一致。
  • wrap_content:表示与内容自适应。但最宽不能超过上级视图的宽度,超过就换行,最高也不能超过上级视图的高度,超过就隐藏。
  • 以dp为单位的具体尺寸。

3.2.2:在java代码中设置视图的宽高

首先确保XML中的宽高属性值为wrap_content,接着打开该页面对应的Java代码,依序执行以下三个步骤:

  1. 调用控件对象的getLayoutParams方法,获取该控件的布局参数。
  2. 布局参数的width属性表示宽度,height属性表示高度,修改这两个属性值。
  3. 调用控件对象的setLayoutParams方法,填入修改后的布局参数使之生效。

注:修改布局参数中的数值,注意默认px单位,需要把dp数值转成px数值。

3.3:设置视图的间距

设置视图的间距有两种方式

  • 采用layout_margin属性,它指定了当前视图与屏幕边界、周围布局或控件之间的距离。包括layout_margin、layout_marginLeft、layout_marginTop、layout_marginRight、layout_marginBottom
  • 采用padding属性,它指定了当前视图与内部下级视图之间的距离。包括padding、 paddingLeft、paddingTop、 paddingRight、paddingBottom。

3.4:设置视图的对齐方式

设置视图的对齐方式有两种途径

  • 采用layout_gravity属性,它指定了当前视图相对于上级视图的对齐方式。
  • 采用gravity属性,它指定了下级视图相对于当前视图的对齐方式。

layout_gravity与gravity的取值包括: left、top、right、bottom,还可以用竖线连接各取值,例如“left|top”表示即靠左又靠上,也就是朝左上角对齐。

猜你喜欢

转载自blog.csdn.net/qq_64618483/article/details/129218317