Android基础知识
Project与Module的区别
Prodect:项目。类似于MyEclipse上的一个工作空间,通常包含多个的Module。
Module:模块。对应于手机上的一个APP应用。
像素
Android中像素的单位有px(像素)、in(英寸)、mm(毫米)、pt(磅,相当于1/72英寸)、dp(与设备无关的单位)、dip(就是dp)、sp(设置字体大小的单位)。常用的单位有px、dp、sp三个。
px是指屏幕上可以显示的最小的单位,与物理设备的显示屏有关。同等尺寸的屏幕中,px的密度越大,以px计量的分辨率越大,屏幕显示越清晰。
dp与物理设备无关,只与屏幕的尺寸有关。同等尺寸的屏幕中,以px计量的分辨率通常是一样的。
sp与dp的原理一样,专门用来设置字体大小的。区别在于:设置字体时,同数值的sp和dp看起来一样大小,但在系统设置中调整字体大小时,dp设置的字体不会改变,sp设置的字体会改变。
用途
一般地,xml布局文件中,字体设置使用sp
,其他的使用dp。代码文件中,使用px设置布局大小。
颜色
定义
在Android中,颜色值是由透明度alpha和RGB(红、绿、蓝)三原色表示的。
可以使用八位十六进制和六位十六进制表示。如:八位编码FFAABBCC,其中,FF表示透明度的值,AA表示红色的浓度,BB表示绿色的浓度,CC表示蓝色的浓度。
六位编码省略了透明度。表示方式一样。xml文件中,默认完全不透明;代码中,默认为完全透明。
当表示透明度和某个颜色值的二位数一样,可以省略,只写一位。如:FFAABBCC可以写成FABC;AABBCC可以写成ABC。
透明度(00~FF):00表示完全透明,FF表示完全不透明。值越大,越不透明。
红绿蓝(00~FF):值越大,越暗,越亮。最亮变成白色。
颜色常量和使用方法
使用十六进制表示
xml布局文件中,用#
号加上色值表示,如:android:textColor="#AD595668"
代码中,设置颜色的方法有:
- 直接使用八位十六进制设置:
setTextColor(0xff00ff00);
Color.rgb(int red,int green,int blue);
Color.argb(int alpha,int red,int green,int blue);
代码中,尽量不要使用六位十六进制编码表示。
使用color.xml定义颜色
res/values目录下的colors.xml文件是定义颜色变量的文件。
步骤如下:
- 在colors.xml下定义
<resources>
<color name="colorPrimary">#008577</color>
</resources>
- 引用颜色变量
xml文件中,可引用@clolr/常量名
,如:android:textColor="@color/colorPrimary"
代码中,可用getResources().getColor(R.color.常量名)
。