protected void onDraw(Canvas canvas) {    // TODO Auto-generated method stub    super.onDraw(canvas);    Paint textPaint = new Paint();    textPaint.setARGB(200, 254, 0, 0);    textPaint.setTextAlign(Align.CENTER);    textPaint.setTypeface(font);    textPaint.setTextSize(300);    canvas.drawText("Hello", canvas.getWidth()/2, canvas.getHeight()/2  , textPaint);}
以上代码不能将“Hello” 打印到控件的纵向居中,
要想实现纵向居中以上代码需要改为
int xPos = (canvas.getWidth() / 2);int yPos = (int) ((canvas.getHeight() / 2) - ((textPaint.descent() + textPaint.ascent()) / 2)) ;  //((textPaint.descent() + textPaint.ascent()) / 2) is the distance from the baseline to the center.//yPos 即为计算得到的“Hello“文本的baseLine的Y坐标 canvas.drawText("Hello", xPos, yPos, textPaint);

更多相关文章

  1. android点击空白区域隐藏软键盘的实现
  2. Android中获取系统的时间
  3. Android中Broadcast的Intent大全
  4. android访问I2C接口
  5. android 打开新浪微博代码
  6. Android(安卓)系统是否要重启时弹出框
  7. android MediaPlayer 错误代码(error code)总结
  8. Android中两个控件滑动效果冲突的解决办法
  9. Android(安卓)获取电池基本信息代码

随机推荐

  1. 百度地图SDK for Android【简介】
  2. Android 模拟器创建参数说明
  3. Android Studio初探:不只是一个简单的IDE
  4. Android介绍与前景
  5. Android图像篇
  6. Flash 之ANE的applicationDeployment.nat
  7. 开发Android应用 提升性能的小技巧
  8. Android Button应用法则
  9. 使用Android Studio 创建第一个Android
  10. 如何在Android和iOS设备上录制游戏?