您的位置:首页 > 移动开发 > Android开发

android细小知识点整理

2015-10-17 23:04 393 查看
  在开发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)

public class DensityUtils {

public static int dp2px(Context ctx,float num){
float density = ctx.getResources().getDisplayMetrics().density;
int px = (int) (num*density+0.5f);
return px;
}
public static int px2dp(Context ctx,float num){
float density = ctx.getResources().getDisplayMetrics().density;
int dp = (int) (num/density+0.5f);
return dp;
}
}


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可以测量出文字的巨型,从而算出文字的高度跟宽度。

  


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: