发布于 2016-02-25 02:05:01 | 123 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的精品教程,程序狗速度看过来!

Android移动端操作系统

Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。


这篇文章主要介绍了Android编程获取并设置Activity亮度的方法,涉及Android针对屏幕亮度的相关操作技巧,需要的朋友可以参考下

本文实例讲述了Android编程获取并设置Activity亮度的方法。分享给大家供大家参考,具体如下:

此API只适合2.1以上版本:


/**
 * 判断是否开启了自动亮度调节
 *
 * @param aContext
 * @return
 */
public static boolean isAutoBrightness(ContentResolver aContentResolver) {
  boolean automicBrightness = false;
  try {
    automicBrightness = Settings.System.getInt(aContentResolver,
        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,
      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.notifyChange(uri, null);
}

使用SeekBar进行亮度控制:


sSeekBar = (SeekBar) findViewById(R.id.seek_bar);
sSeekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
  @Override
  public void onStopTrackingTouch(SeekBar seekBar) {
    // TODO Auto-generated method stub
  }
  @Override
  public void onStartTrackingTouch(SeekBar seekBar) {
  }
  @Override
  public void onProgressChanged(SeekBar seekBar, int progress,
      boolean fromUser) {
    if (progress < 10) {
    } else {
      setBrightness(Test2Activity.this, progress);
    }
  }
});
//获取当前亮度的位置
int a =getScreenBrightness(this);
sSeekBar.setProgress(a);


<SeekBar
  android:id="@+id/seek_bar"
  android:layout_width="200dp"
  android:layout_height="wrap_content"
  android:layout_alignParentBottom="true"
  android:max="255"
  android:maxHeight="8dp"
  android:minHeight="8dp"
  android:paddingBottom="5dp"
  android:paddingLeft="13dp"
  android:paddingRight="13dp"
  android:progress="0"
   />

希望本文所述对大家Android程序设计有所帮助。



最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务