1、Android4.0系统中ProgressDialog设置为setCancelable(true)时,点击ProgressDialog以外的区域可以让ProgressDialog dismiss掉。如果将ProgressDialog设置setCancelable(false),再点击ProgressDialog以外的区域就不会出现前面所说的情况了,但这样会使返回键失去效果。
2、如何从SDCard中读取图片文件并将其设置为壁纸。
程序步骤说明如下:
a、在SDCard中添加一个名称为wallpaper.jgp的图片文件。
b、创建Activity。
c、 在Activity的onCreate()方法中通过BitmapFactory的decodeFile()方法传递文件路径,获取Bitmap对象。
d、调用setWallpaper()方法设置桌面。
3、问:canvas.drawText("3", x, y, paint); x和y是指画得时候数字3中心的坐标吗?还是左上角的坐标?
答:x默认是‘3’这个字符的左边在屏幕的位置,如果设置了paint.setTextAlign(Paint.Align.CENTER);那就是字符的中心,y是指定这个字符baseline在屏幕上的位置。
4、在通过setTextSize()方法设置TextView的文字大小时,可以指定使用的单位,int型的常量TypedValue.COMPLEX_UNIT_PX表示单位是像素,如果要设置单位是磅,可以使用常量TypedValue.COMPLEX_UNIT_PT。
5、OnKeyListener是对手机键盘进行监听的接口,通过对某个View注册该监听,当View获得焦点并有键盘事件时,便会触发该接口中的回调方法。该接口中的抽象方法签名如下:
public boolean onKey(View v, int keyCode, KeyEvent event)
参数v:参数v为事件的事件源控件。
参数keyCode:参数keyCode为手机键盘的键盘码。
参数event:参数event便为键盘事件封装类的对象,其中包含了事件的详细信息,例如发生的事件、事件的类型等。
6、android:gravity="center_vertical|right"
edittext 文本垂直居中并且靠右显示
7、点击EditText不弹出软键盘
et.setInputType(InputType.TYPE_NULL);
8、IndexOf 方法
返回 String 对象内第一次出现子字符串的字符位置。
9、在实际工作中,常常需要设定数字的输出格式,如以百分比的形式输出,或者设定小数位数等,现稍微总结如下。
主要使用的类:java.text.DecimalFormat
a、实例化对象,可以用如下两种方法:
DecimalFormat df=(DecimalFormat)NumberFormat.getInstance();
DecimalFormat df1=(DecimalFormat) DecimalFormat.getInstance();
因为DecimalFormat继承自NumberFormat。
b、设定小数位数
系统默认小数位数为3,如:
DecimalFormat df=(DecimalFormat)NumberFormat.getInstance();
System.out.println(df.format(12.3456789));
输出:12.346
现在可以通过如下方法把小数为设为两位:
df.setMaximumFractionDigits(2);
System.out.println(df.format(12.3456789));
则输出为:12.35
c、将数字转化为百分比输出,有如下两种方法:
(1)df.applyPattern("##.##%");
System.out.println(df.format(12.3456789));
System.out.println(df.format(1));
System.out.println(df.format(0.015));
输出分别为:1234.57% 100% 1.5%
(2)df.setMaximumFractionDigits(2);
System.out.println(df.format(12.3456789*100)+"%");
System.out.println(df.format(1*100)+"%");
System.out.println(df.format(0.015*100)+"%");
输出分别为:
1,234.57% 100% 1.5%
d、设置分组大小
DecimalFormat df1=(DecimalFormat) DecimalFormat.getInstance();
df1.setGroupingSize(2);
System.out.println(df1.format(123456789));
输出:1,23,45,67,89
还可以通过df1.setGroupingUsed(false);来禁用分组设置,如:
DecimalFormat df1=(DecimalFormat) DecimalFormat.getInstance();
df1.setGroupingSize(2);
df1.setGroupingUsed(false);
System.out.println(df1.format(123456789));
输出:123456789
e、设置小数为必须为2位
DecimalFormat df2=(DecimalFormat) DecimalFormat.getInstance();
df2.applyPattern("0.00");
System.out.println(df2.format(1.2));
输出:1.20