Android画布(cavas)

  方法一:
  给Paint加上抗锯齿标志。然后将Paint对象作为参数传给canvas的绘制方法。
  paint.setAntiAlias(true);

  方法二:
  给Canvas加上抗锯齿标志。有些地方不能用paint的,就直接给canvas加抗锯齿,更方便。
  canvas.setDrawFilter(new PaintFlagsDrawFilte(0, Paint.ANTI_ALIAS_FLAG|Paint.FILTER_BITMAP_FLAG));

  调整Activity中自定义视图(View)的大小

  view本身响应onMeasure事件:
  protected void onMeasure (int widthMeasureSpec, int heightMeasureSpec){
   int height = View.MeasureSpec.getSize(heightMeasureSpec);
   int width = View.MeasureSpec.getSize(widthMeasureSpec);
   setMeasuredDimension(width,height); //这里面是原始的大小,需要重新计算可以修改本行
  }

  view所在的activity调用改view大小:
  LinearLayout.LayoutParams linearParams = (LinearLayout.LayoutParams) mView.getLayoutParams();
  linearParams.height = 400;
  mView.setLayoutParams(linearParams);

  禁止屏幕随手机旋转变化

  在AndroidManifest.xml的每一个需要禁止转向的Activity配置中加入android:screenOrientation="landscape"属性。
  landscape = 横向,portrait = 纵向

  避免在转屏时重启Activity

  每次屏幕方向切换Android都会重启Activity,一种方法是在Activity销毁前保存当前的状态,在Activity再次创建的时候恢复状态;
  第二种方法是避免在转屏时重启Activity,可以通过在AndroidManifest.xml文件中重新定义方向。
  (给每个Activity加上android:configChanges="keyboardHidden|orientation")
  然后在需要控制屏幕显示方向的Activity中重写onConfigurationChanged(Configuration newConfig)方法,这样在转屏时就不会重启Activity了,转为发送事件让Activity自己处理。比如:

  if(newConfig.orientation==Configuration.ORIENTATION_LANDSCAPE){
   setContentView(R.layout.file_list_landscape);//横向
  }else{
   setContentView(R.layout.file_list);//竖向
  }

  在模拟器中可以按 CTL+F11 模拟做屏幕旋转。

  启动一个程序

  Intent intent=new Intent();
  intent.setComponent(new ComponentName(
   "com.android.calendar", "com.android.calendar.LaunchActivity"));
  startActivity(intent);

  格式化日期使用SimpleDateFormat

  String format = "MMM dd yyyy";
  SimpleDateFormat sdf = new SimpleDateFormat(format);
  titleText=sdf.format(c.getTime());

  获取屏幕分辨率

  Display display = getWindowManager().getDefaultDisplay();
  display.getWidth();

  获取XML中的资源

  String[] countries = getResources().getStringArray(R.array.countries_array);
  getResources().getDrawable();

你可能感兴趣的:(android)