此类主要是获取是包名Activity名,以及提转到此Activity使用
ntent.setComponent(componetName);
startActivity(intent);
2. startActivities(Intent[])
startActivities(buildIntentsToViewsLists());
我们经常用到的是startActivity(Intent),而startActivities(Intent[])的作用与之完全相同,
无非就是将Intent[]中的三个Intent所指向的跳转目标Activity从后至前依次添加到当前Activity栈中,如果大家在点击完按钮后用“Back”键返回,
会发现返回的顺序和Intent[]中的顺序从后至前一致。
3.去除标题栏
requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉标题栏
//取消状态栏
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
4.直接用色值给TextView上色
Color.parseColor("FFFFFF"));(自己测试发现报错)
tv.setTextColor(Color.rgb(255, 255, 255));
setTextColor(0xff737373);
5.线程
interrupt()方法能即可打断正在执行的线程,如果此时线程正在sleep();打断就会报错
6.按back不退出程序返回桌面
Intent home = new Intent(Intent.ACTION_MAIN);
home.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
home.addCategory(Intent.CATEGORY_HOME);
startActivity(home);
7.安装SDK上的一个apk
public void installApk(File file) { Uri uri = Uri.fromFile(file); Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(uri, "application/vnd.android.package-archive"); startActivity(intent); }
8.TextVIew文本中分段显示不同颜色文本
editText2.setText(Html.fromHtml( "<font color=#E61A6B>红色代码</font> "+ "<i><font color=#1111EE>蓝色斜体代码</font></i>"+"<u><i><font color=#1111EE>蓝色斜体加粗体下划线代码</font></i></u>"));很遗憾Html类不支持 设定字体的大小 不过可以在文本框中设置
9.电话拨号界面
public void callNumber(String number) { Intent in2 = new Intent(); in2.setAction(Intent.ACTION_DIAL);// 指定意图动作 in2.setData(Uri.parse("tel:" + number));// 指定电话号码 startActivity(in2); }
10.截屏
// 获取Activity的截屏,this指向一个activity private Bitmap takeScreenShot() { View view = this.getWindow().getDecorView(); view.setDrawingCacheEnabled(true); view.buildDrawingCache(); return view.getDrawingCache(); }
11.RadioButton 选择背景
android:button="@drawable/radiou_selector" 跟其他空间稍微有点不同
12.获取控件宽高
ViewTreeObserver vto2 = titleLayout.getViewTreeObserver(); vto2.addOnGlobalLayoutListener(new OnGlobalLayoutListener() { @Override public void onGlobalLayout() { titleLayout.getViewTreeObserver().removeGlobalOnLayoutListener( this); showToast(titleLayout.getHeight()+""); } });
13.获取屏幕分辨率和像素密度
1.drawable-(hdpi,mdpi,ldpi)的区别 dpi是“dot per inch”的缩写,每英寸像素数。 四种密度分类: ldpi (low), mdpi (medium), hdpi (high), and xhdpi (extra high) 一般情况下的普通屏幕:ldpi是120,mdpi是160,hdpi是240,xhdpi是320。
2.WVGA,HVGA,QVGA的区别 VGA是“Video Graphics Array”,显示标准为640*480。 WVGA(Wide VGA)分辨率为480*800 HVGA(Half VGA)即VGA的一半分辨率为320*480 QVGA(Quarter VGA)即VGA非四分之一分辨率为240*320。
3.drawable-(hdpi,mdpi,ldpi)和WVGA,HVGA,QVGA的联系 hdpi里面主要放高分辨率的图片,如WVGA (480×800),FWVGA (480×854) mdpi里面主要放中等分辨率的图片,如HVGA (320×480) ldpi里面主要放低分辨率的图片,如QVGA (240×320) 系统会根据机器的分辨率来分别到这几个文件夹里面去找对应的图片。
先适应屏幕密度再适应分辨率
DisplayMetrics metric = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(metric); int width = metric.widthPixels; // 屏幕宽度(像素) int height = metric.heightPixels; // 屏幕高度(像素) float density = metric.density; // 屏幕密度(0.75 / 1.0 / 1.5) int densityDpi = metric.densityDpi; // 屏幕密度DPI(120 / 160 / 240)
14. 读写权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
15.代码除法View的点击事件
btn1.performClick();