android细小知识点整理

  在开发android的过程中,经常会遇到一些细小简单的知识点记不太清了。然后又得花时间到网上查,针对这个问题今天把一些常用的知识进行整理及说明。

  1.getX,Y 和getRawX,Y;

  在event事件中我们常常会在用到getX,getRawX的时间不记得哪个是获取以屏幕左上角为坐标,哪个是以view左上角为坐标,getX以自身View为坐标,getRawX以屏幕为坐标。

  2.dp2px,px2dp;

  android开发过程中相比dp跟px的转换也是常常会用到的。虽然不是什么难点但还是把代码贴出来方便查看。

  设备密度 320*240(0.75) 480*320(1) 1280*720(2)

 1 public class DensityUtils {
 2     
 3     public static int dp2px(Context ctx,float num){
 4         float density = ctx.getResources().getDisplayMetrics().density;
 5         int px = (int) (num*density+0.5f);
 6         return px;
 7     }
 8     public static int px2dp(Context ctx,float num){
 9         float density = ctx.getResources().getDisplayMetrics().density;
10         int dp = (int) (num/density+0.5f);
11         return dp;
12     }
13 }
Density

  3.代码实例化View的几种方式

  View.inflate(context, resource, root); //常用

  LayoutInflater.from(this).inflate(resource, root);

  context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

  4.EditText实用方法

  setSelection(index)//设置光标显示位置

  requestFocus();//请求获取焦点

  getSelectionStart()//获取光标显示位置

  getSelectionEnd()//获取光标结束位置

  5.canvas.drawText()坐标计算公式

  x= cellWidth/2 - textWidth/2;

  y=cellHeight/2 +textHeight/2 +index*cellHeight;

  drawText的坐标是以文字的左下角为起点。

  paint.getTextBounds可以测量出文字的巨型,从而算出文字的高度跟宽度。

  


posted @ 2015-10-17 23:04  Bazinga_bang  阅读(180)  评论(0)    收藏  举报