当前位置:操作系统 > 安卓/Android >>

Android开发札记 1

 

画布(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();   

 

摘自 苹果君的工作室

补充:移动开发 , Android ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,