Android获取屏幕宽度的4种方法和背光调节
2016-09-03 19:10
435 查看
方法一与方法二获取屏幕宽度的方法类似,只是获取WindowManager 对象时的途径不同。
方法一:
WindowManager wm = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE); int width = wm.getDefaultDisplay().getWidth(); int height = wm.getDefaultDisplay().getHeight();
方法二:
WindowManager wm1 = this.getWindowManager(); int width1 = wm1.getDefaultDisplay().getWidth(); int height1 = wm1.getDefaultDisplay().getHeight();
方法三与方法四类似
方法三:
WindowManager manager = this.getWindowManager(); DisplayMetrics outMetrics = new DisplayMetrics(); manager.getDefaultDisplay().getMetrics(outMetrics); int width2 = outMetrics.widthPixels; int height2 = outMetrics.heightPixels;
方法四:
Resources resources = this.getResources(); DisplayMetrics dm = resources.getDisplayMetrics(); float density1 = dm.density; int width3 = dm.widthPixels; int height3 = dm.heightPixels;
Android的屏幕亮度在开启了自动调节的功能的时候, 我们进行调节是没有一点作用的,所以要进行进行判断,看是否开启了屏幕亮度的自动调节功能。
/** * 判断是否开启了自动亮度调节 * * @param aContext * @return */ public static boolean isAutoBrightness(ContentResolver resolver) { boolean automicBrightness = false; try { automicBrightness = Settings.System.getInt(resolver, Settings.System.SCREEN_BRIGHTNESS_MODE) == Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC; } catch (SettingNotFoundException e) { e.printStackTrace(); } return automicBrightness; }
/** * 获取屏幕的亮度 * * @param activity * @return */ public static int getScreenBrightness(Activity activity) { int nowBrightnessValue = 0; ContentResolver resolver = activity.getContentResolver(); try { nowBrightnessValue = android.provider.Settings.System.getInt( resolver, Settings.System.SCREEN_BRIGHTNESS); } catch (Exception e) { e.printStackTrace(); } return nowBrightnessValue; }
/** * 修改屏幕的亮度 * * @param activity * @param brightness */ public static void setBrightness(Activity activity, int brightness) { // Settings.System.putInt(activity.getContentResolver(), // Settings.System.SCREEN_BRIGHTNESS_MODE, // Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL); WindowManager.LayoutParams lp = activity.getWindow().getAttributes(); lp.screenBrightness = Float.valueOf(brightness) * (1f / 255f); activity.getWindow().setAttributes(lp); } /** * 停止自动亮度调节 * * @param activity */ public static void stopAutoBrightness(Activity activity) { Settings.System.putInt(activity.getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE, Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL); } /** * 开启亮度自动调节 * * @param activity */ public static void startAutoBrightness(Activity activity) { Settings.System.putInt(activity.getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE, Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC); } /** * 保存亮度设置状态 * * @param resolver * @param brightness */ public static void saveBrightness(ContentResolver resolver, int brightness) { Uri uri = android.provider.Settings.System.getUriFor("screen_brightness"); android.provider.Settings.System.putInt(resolver, "screen_brightness",brightness); // resolver.registerContentObserver(uri, true, myContentObserver); resolver.notifyChange(uri, null); }
转载Android获取屏幕宽度的4种方法
转载ANDROID 背光调节
相关文章推荐
- Android获取屏幕宽度、高度的4种方法
- Android获取屏幕宽度的4种方法
- Android获取屏幕宽度的4种方法
- Android获取屏幕宽度的4种方法
- Android获取屏幕宽度的4种方法
- Android获取屏幕宽度的4种方法
- Android获取屏幕宽度的4种方法,
- Android获取屏幕宽度的4种方法
- Android获取屏幕宽度的4种方法,android4种
- Android Studio——Android获取屏幕宽度的4种方法
- Android获取屏幕宽度与长度的四个方法
- Android 获取屏幕高宽度,密度,通知栏高度,截图等常用方法
- android 获取屏幕高度和宽度 的方法
- Android获取屏幕分辨率及DisplayMetrics简介 和java获得屏幕宽度高度的方法
- Android获取常用辅助方法(获取屏幕高度、宽度、密度、通知栏高度、截图)
- android 获取屏幕高度和宽度 的方法
- android 获取屏幕高度和宽度 的方法
- Android获取屏幕宽度与长度的三个方法
- android 获取屏幕高度和宽度 的方法
- Android中获取屏幕高度与宽度的两种方法