像素
Android支持的像素有px(像素),in(英寸),mm(毫米),pt(磅 1/72英寸),dp(dip)和像素无关的显示单位,sp用于字体。
常见的有px,dp和sp。px就是像素,比较常见。dp显示和物理设备没有关系,只和屏幕尺寸有关。sp设置的字体会随着手机系统的字体变化而变化。dp和sp的转化关系和屏幕的像素密度相关。px = (int)(dp * density)。获取屏幕像素密度
context.getResources().getDisplayMetrics().density;
在代码布局文件中,有时候也需要对布局的参数进行设置。代码中设置的单位通常为px,XML更常用dp,因此,若要在代码文件中设置dp数值。例如水平布局中LayoutParams中的宽度和高度。
public static int dip2px(Context context, float dpValue) {
// 获取当前手机的像素密度
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (dpValue * scale + 0.5f); // 四舍五入取整
}
nice,写完了字体感觉了解了一些,了解再详细一点再补充。
颜色
Android颜色可以用三通道6位(RGB红绿蓝)或者四通道8位(开头加入透明度通道)来设置。需要注意的是,代码中有些时候默认是完全透明的00,所以看不到代码设置的颜色可能是透明度的原因。代码中设置颜色比较简单,例如一个TextView设置背景颜色。
TextView tv = findViewById(R.id.tv);
tv.setBackgroundColor(0x00ff00); //三通道
tv.