1. 获得屏幕的密度, 用于屏幕适配

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. 获得版本的名字:

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. 获得图片的倒影,同时倒影渐变效果.

public static Bitmap createMirro(Bitmap srcbitmap) {

int width = srcbitmap.getWidth();

int height = srcbitmap.getHeight();

int shadow_height = 15; // TODO

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

}

更多相关文章

  1. Android 监听屏幕熄屏亮屏和主动唤醒屏幕
  2. android 获取屏幕的宽度和高度
  3. android屏幕休眠和唤醒两种方法(newWakeLock)
  4. android获得屏幕大小,使用sdk1.6
  5. android 获取屏幕宽高、密度、dpi
  6. Android Studio——Android获取屏幕宽度的4种方法
  7. Android监听解锁屏幕广播

随机推荐

  1. android 笔记 --- Android中几种图像特效
  2. Android将胜过Windows Mobile五大原因
  3. Android Gradle 学习 一
  4. cocos2dx在Android下如何接入91SDK
  5. 在电脑上pc端运行android安卓模拟器图...
  6. android google map开发
  7. Android输入法框架系统(下)
  8. [Android] 关于系统工具栏和全屏沉浸模式
  9. 【摘录】Google Android操作系统内核编译
  10. Android程序架构基本内容概述