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



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值