android开发有很多小的知识点,不方便单独写文章,所以集合起来,放这里。
一、字体设置
Android系统默认支持三种字体,分别为:“sans”,
方法一:XML中使用android默认字体
衬线字体 ( Serif ) : "Times New Roman" 宋体
非衬线字体 ( Sans Serif ) : Verdana 黑體 圓體
等宽字体 ( Monospace ) : "Century Schoolbook Mono BT" "Lucida Console" ProggySquareSZ
使用场合:
Serif -- 文章的正文,如果有很多内容,为了提高辨识率,用Serif,另外,使用Serif会也会让人感觉更加的正式(如: "Times New Roman" 宋体)。
Sans -- 文章的标题,字体较大,字少,或者正文内容很少,用Sans Serif(如:Verdana 圆体)。
Monospace -- 编辑的字体使用Monospace等宽字体(如: "Century Schoolbook Mono BT" "Lucida Console" ProggySquareSZ )。
方法二:在Android中可以引入其他字体,首先要将字体文件保存在assets/fonts/目录下
java程序中引入其他字体关键代码
//得到TextView控件对象
//将字体文件保存在assets/fonts/目录下,创建Typeface对象
Typeface typeFace =Typeface.createFromAsset(getAssets(),"fonts/DINCond-Medium.otf");
//使用字体
textView.setTypeface(typeFace);
二、px和dp转换
public class DensityUtil {
/**
* 根据手机的分辨率从 dp 的单位 转成为 px(像素)
*/
public static int dip2px(Context context, float dpValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (dpValue * scale + 0.5f);
}
/**
* 根据手机的分辨率从 px(像素) 的单位 转成为 dp
*/
public static int px2dip(Context context, float pxValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (pxValue / scale + 0.5f);
}
}