package com.TestBrightness;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import com.TestBrightness.manager.SystemManager;
public class TestBrightness extends Activity implements OnClickListener{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
SystemManager.init(this);
showBrightnessSettingDialog();
}
@Override
public void onClick(View v) {
showBrightnessSettingDialog();
}
private int mOldBrightness;
private int mCurrentBrightness = 0;
private int mOldAutomatic;
private boolean mAutomaticAvailable;
/**
* Brightness value for dim backlight
*/
private static final int BRIGHTNESS_DIM = 20;
/**
* Brightness value for fully on
*/
private static final int BRIGHTNESS_ON = 255;
// Backlight range is from 0 - 255. Need to make sure that user
// doesn't set the backlight to 0 and get stuck
private static final int MINIMUM_BACKLIGHT = BRIGHTNESS_DIM + 10;
private static final int MAXIMUM_BACKLIGHT = BRIGHTNESS_ON;
private void showBrightnessSettingDialog(){
final SystemManager systemManager = SystemManager.getInstance();
final Builder builder = new AlertDialog.Builder(this);
final View view = getLayoutInflater().inflate(R.layout.brightness_view, null);
// set brightness seekbar
final SeekBar brightnessBar = (SeekBar) view.findViewById(R.id.brightness_bar);
brightnessBar.setMax(MAXIMUM_BACKLIGHT - MINIMUM_BACKLIGHT);
int brightness = systemManager.getScreenBrightness();
int process = brightness - MINIMUM_BACKLIGHT;
if (process<0) {
process = 0;
mOldBrightness = MINIMUM_BACKLIGHT;
mCurrentBrightness = MINIMUM_BACKLIGHT;
}else{
mOldBrightness = brightness;
mCurrentBrightness = brightness;
}
brightnessBar.setProgress(process);
// set automatic available checkbox
final CheckBox autoBrightness = (CheckBox)view.findViewById(R.id.auto_brightness);
mOldAutomatic = systemManager.getBrightnessMode();
mAutomaticAvailable = systemManager.isAutoBrightness();
autoBrightness.setChecked(mAutomaticAvailable);
if(mAutomaticAvailable){
brightnessBar.setVisibility(View.GONE);
}else{
brightnessBar.setVisibility(View.VISIBLE);
}
autoBrightness.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(final CompoundButton buttonView, final boolean isChecked) {
mAutomaticAvailable = isChecked;
if(isChecked){
brightnessBar.setVisibility(View.GONE);
systemManager.startAutoBrightness();
//systemManager.setBrightness(MainActivity.this, systemManager.getScreenBrightness());
int process = systemManager.getScreenBrightness() - MINIMUM_BACKLIGHT;
if (process<0) {
process = 0;
}// end if
brightnessBar.setProgress(process);
}else{
brightnessBar.setVisibility(View.VISIBLE);
systemManager.stopAutoBrightness();
//systemManager.setBrightness(MainActivity.this, systemManager.getScreenBrightness());
int process = systemManager.getScreenBrightness() - MINIMUM_BACKLIGHT;
if (process<0) {
process = 0;
}// end if
brightnessBar.setProgress(process);
}
}
});
brightnessBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
@Override
public void onStopTrackingTouch(final SeekBar seekBar) {
}
@Override
public void onStartTrackingTouch(final SeekBar seekBar) {
}
@Override
public void onProgressChanged(final SeekBar seekBar, final int progress,
final boolean fromUser) {
mCurrentBrightness = progress + MINIMUM_BACKLIGHT;
systemManager.setBrightness(TestBrightness.this, mCurrentBrightness);
}
});
builder.setTitle(R.string.brightness);
builder.setView(view);
builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener(){
@Override
public void onClick(final DialogInterface dialog, final int which) {
// set brightness
if(mAutomaticAvailable){
systemManager.saveBrightness(systemManager.getScreenBrightness());
}else{
systemManager.saveBrightness(mCurrentBrightness);
}
}
});
builder.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
@Override
public void onClick(final DialogInterface dialog, final int which) {
// recover brightness
systemManager.setBrightness(TestBrightness.this, mOldBrightness);
systemManager.saveBrightness(mOldBrightness);
// recover automatic brightness mode
systemManager.setBrightnessMode(mOldAutomatic);
}
});
builder.show();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
滑动屏幕调整屏幕亮度.zip
共40个文件
class:8个
png:7个
xml:7个
0 下载量 15 浏览量
2024-04-15
09:42:15
上传
评论
收藏 131KB ZIP 举报
温馨提示
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。
资源推荐
资源详情
资源评论
收起资源包目录
滑动屏幕调整屏幕亮度.zip (40个子文件)
滑动屏幕调整屏幕亮度
TestBrightness.zip 20KB
TestBrightness2
.classpath 280B
assets
src
cn
lkp
MainActivity.java 4KB
res
drawable-mdpi
icon.png 3KB
drawable-ldpi
icon.png 2KB
values
strings.xml 178B
layout
main.xml 383B
drawable-hdpi
icon.png 4KB
bin
TestBrightness2.apk 15KB
resources.ap_ 10KB
cn
lkp
MainActivity$1.class 2KB
R$string.class 391B
R$layout.class 358B
R$id.class 353B
R$attr.class 304B
R$drawable.class 364B
MainActivity.class 3KB
R.class 447B
classes.dex 5KB
proguard.cfg 1KB
default.properties 362B
.project 851B
AndroidManifest.xml 743B
gen
cn
lkp
R.java 728B
TestBrightness2.rar 44KB
TestBrightness
TestBrightness
.classpath 273B
assets
src
com
TestBrightness
manager
SystemManager.java 5KB
TestBrightness.java 6KB
res
drawable-mdpi
icon.png 3KB
drawable-ldpi
icon.png 2KB
values
strings.xml 299B
layout
brightness_view.xml 1KB
main.xml 536B
drawable-hdpi
btn_auto_brightness_default.png 2KB
icon.png 4KB
proguard.cfg 1KB
default.properties 362B
.project 850B
AndroidManifest.xml 756B
gen
com
TestBrightness
R.java 1KB
共 40 条
- 1
资源评论
大黄鸭duck.
- 粉丝: 2620
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 3层独栋别墅占地面积140平方米别墅结构.dwg
- 让我们更详细地探讨模拟退火算法的MATLAB实现 下面的代码示例将包括更详细的注释,以及一个更复杂一些的目标函数,这个函数在多维
- 3层独栋别墅占地面积140平方米别墅施工图.dwg
- 让我们更详细地探讨模拟退火算法的MATLAB实现 下面的代码示例将包括更详细的注释,以及一个更复杂一些的目标函数,这个函数在多维
- 模拟退火算法MATLAB实现 function sa-minimize
- 三层别墅图纸编号D079-三层-17.50&17.70米- 施工图.dwg
- 三层独栋别墅砖混结构总建筑面积558.1平米施工结构图.dwg
- hive的安装与配置.zip
- 单家独院式占地面积115.2平方米图纸D077-三层-12.00&09.00米-施工图.dwg
- 3层新农村独栋别墅编号D076-三层-08.50&11.20米- 施工图.dwg
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功