私信我或关注微信号:狮范课,回复:学习,获取免费学习资源包。
前言
Android开发过程可能需要用到的代码片段,一共35则。供需要时借鉴参考。
精确获取屏幕尺寸
例如:3.5、4.0、5.0寸屏幕:
public static double getScreenPhysicalSize(Activity ctx) { DisplayMetrics dm = new DisplayMetrics(); ctx.getWindowManager().getDefaultDisplay().getMetrics(dm); double diagonalPixels = Math.sqrt(Math.pow(dm.widthPixels, 2) + Math.pow(dm.heightPixels, 2)); return diagonalPixels / (160 * dm.density); }
判断设备是否是平板
一般是7存以上是平板,此为官方用法。
public static boolean isTablet(Context context) { return (context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_LARGE; }
文字根据状态栏更改颜色
属性为:android:textColor此代码文件放置在项目的res/color/目录下:
背景色根据状态更改颜色
属性为:android:backgroup,如果直接给背景色将会报错:
启动App默认的Activity
public static void startApkActivity(final Context ctx, String packageName) { PackageManager pm = ctx.getPackageManager(); PackageInfo pi; try { pi = pm.getPackageInfo(packageName, 0); Intent intent = new Intent(Intent.ACTION_MAIN, null); intent.addCategory(Intent.CATEGORY_LAUNCHER); intent.setPackage(pi.packageName); List apps = pm.queryIntentActivities(intent, 0); ResolveInfo ri = apps.iterator().next(); if (ri != null) { String className = ri.activityInfo.name; intent.setComponent(new ComponentName(packageName, className)); ctx.startActivity(intent); } } catch (NameNotFoundException e) { Log.e("startActivity