Android开发札记 1

来源:互联网 发布:易顺佳服装鞋业软件 编辑:程序博客网 时间:2024/06/05 19:07
画布(cavas)抗锯齿

方法一:

        给Paint加上抗锯齿标志。然后将Paint对象作为参数传给canvas的绘制方法。

paint.setAntiAlias(true);

方法二:
        给Canvas加上抗锯齿标志。有些地方不能用paint的,就直接给canvas加抗锯齿,更方便。

canvas.setDrawFilter(new PaintFlagsDrawFilter(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();



原创粉丝点击