一些Android实用函数收集,不断更新中。
1:获得屏幕的密度,用于屏幕适配
1 2 3 4 5 6 | public static float getDensity(Context ctx) { DisplayMetrics metrics = new DisplayMetrics(); WindowManager wm = (WindowManager) ctx.getSystemService(Context.WINDOW_SERVICE); wm.getDefaultDisplay().getMetrics(metrics); return metrics.density; } |
2:获得版本的名字
1 2 3 4 5 6 7 8 9 10 11 12 | public static String getVersionName(Context context, String packageName) { PackageInfo pInfo = null; String rs = ""; try { pInfo = context.getPackageManager().getPackageInfo(packageName, PackageManager.GET_META_DATA); rs = pInfo.versionName; } catch (Exception e) { e.printStackTrace(); } return rs; } |
3:获得图片的倒影,同时倒影渐变效果
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | public static Bitmap createMirro(Bitmap srcbitmap) {
int width = srcbitmap.getWidth(); int height = srcbitmap.getHeight(); int shadow_height = 15; int[] pixels = new int[width * height]; srcbitmap.getPixels(pixels, 0, width, 0, 0, width, height);
// shadow effect int alpha = 0x00000000; for (int y = 0; y < height; y++) { for (int x = 0; x < width; x++) { int index = y * width + x; int r = (pixels[index] >> 16) & 0xff; int g = (pixels[index] >> 8) & 0xff; int b = pixels[index] & 0xff; pixels[index] = alpha | (r << 16) | (g << 8) | b; } if (y >= (height - shadow_height)) { alpha = alpha + 0x1F000000; } }
// invert effect Bitmap bm = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); for (int y = 0; y < height; y++) { bm.setPixels(pixels, y * width, width, 0, height - y - 1, width, 1); } return Bitmap.createBitmap(bm, 0, 0, width, shadow_height); } |