此篇记录近期Android学习笔记。
app运行日志:
安卓采用log工具打印日志,她将各类日志划分成五个等级:
- Log.e:表示错误信息,比如可能导致程序崩溃的异常
- Log.w:表示警告信息
- Log.i:表示一般信息
- Log.d:表示调试信息,可把程序运行时的变量值打印出来,方便跟踪调试
- Log.v:表示冗余信息
AndroidManifest.xml的根节点为manifest,它的package属性指定了该App的包名。manifest下面有application节点,各属性说明如下:
- android:allowBackup,是否允许应用备份。允许用户备份系统应用和第三方应用的apk安装包和应用数据,以便在刷机或者数据丢失后恢复应用,用户即可通过adb backup和adb restore来进行对应用数据的备份和恢复。为true表示允许,为false则表示不允许。
- android:icon,指定App在手机屏幕上显示的图标。
- android:label,指定App在手机屏幕上显示的名称。
- android:roundIcon,指定App的圆角图标。
- android:supportsRtl,是否支持阿拉伯语/波斯语这种从右往左的文字排列顺序。为true表示支持,为false则表示不支持。
- android:theme,指定App的显示风格。
设置文本内容有两种方式:
- 在XML文件中通过android:text设置文本
- 在Java代码中调用文本视图对象的setText方法设置文本
名称 | 解释 |
px(Pixel像素) | 也称为图像元素,是作为图像构成的基本单元,单个像素的大小并不固定,跟随着屏幕大小和像素数量的关系变化,一个像素点为1px。 |
Resolution(分辨率) | 是指屏幕的水平和垂直方向的像素数量。 |
Dpi(像素密度) | 是指屏幕上每英寸(1英寸=2.54厘米)距离中有多少个像素点。 |
Density(密度) | 是指屏幕上每平方英寸中含有的像素点数量。 |
Dip/dp(设备独立像素) | 长度单位,同一个单位在不同的设备上有不同的显示效果,具体效果根据设备的密度有关。 |
以4.95英寸1920*1080的手机设备为例:
名称 | 计算 |
dpi | 1、计算对角线像素数量:1920x1920+1080x1080=2202x2202 2、计算dpi:2202/4.95=445。 |
density | dpi为445,density=445*445=198025。 |
dip | 计算一个设备上1dip等于多少px:dip=px*dpi/160 |
根据换算关系:320x480分辨率,3.6英寸的手机,dpi为160,1dp=1px。
设置视图的宽高:视图宽度通过属性android:layout_width表达,视图高度通过属性android:layout_height表达,宽高的取值主要有下列三种:
- match_parent:表示与上级视图保持一致。
- wrap_content:表示与内容自适应。
- 以dp为单位的具体尺寸。
在代码中设置视图宽高:
首先确保XML中的宽高属性值为wrap_content,接着打开该页面对应的Java代码,依序执行以下三个步骤:
1、调用控件对象的getLayoutParams方法,获取该控件的布局参数;
2、布局参数的width属性表示宽度,height属性表示高度,修改这两个属性值;
3、调用控件对象的setLayoutParams方法,填入修改后的布局参数使之生效。