屏幕亮度显示的控制

1.  SeekBarDemo.java

public class SeekBarDemo extends AppCompatActivity {
    private SeekBar seekBar = null;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_seek_bar_demo);
        this.seekBar = (SeekBar)findViewById(R.id.seekbar);  //取得seekBar
        this.seekBar.setMax(100);  //以后计算的时候除以100
        this.seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListenerImpl());
    }

    private class OnSeekBarChangeListenerImpl implements SeekBar.OnSeekBarChangeListener {
        @Override
        public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
            //正在拖动
        }
        @Override
        public void onStartTrackingTouch(SeekBar seekBar) {
            //开始拖动
        }
        @Override
        public void onStopTrackingTouch(SeekBar seekBar) {  //停止拖动
            SeekBarDemo.this.setScreenBrightness((float)seekBar.getProgress()/100);  //计算出当前值
        }
    }

    private void setScreenBrightness(float num) {
        WindowManager.LayoutParams layoutParams = getWindow().getAttributes();  //取得windows属性
        layoutParams.screenBrightness = num;   //num已经除以100
        super.getWindow().setAttributes(layoutParams);  //0~1之间
    }
}

2.  activity_seek_bar_demo.xml

<SeekBar
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:id="@+id/seekbar"/>
<ImageView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:id="@+id/img"
    android:src="@drawable/dog1"
    android:layout_below="@+id/seekbar"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_marginTop="55dp" />

由于亮度只能在0~1之间的数字表示,所以在每次拖动的时候都要将当前的数字除以100,之后将此内容设置到window的screenBrightness属性中。

时间: 2024-10-04 18:51:43

屏幕亮度显示的控制的相关文章

【Android】系统音量及屏幕亮度调节

屏幕亮度调节 /** * 滑动改变亮度,不需要权限 * * @param percent 亮度百分比,值为0.0----1.0 */ private void onBrightnessSlide(float percent) { if (mBrightness < 0) { // mBrightness是当前屏幕的亮度 mBrightness = getWindow().getAttributes().screenBrightness; if (mBrightness <= 0.00f) mB

android应用中读取屏幕亮度、设置屏幕亮度、保持屏幕常量

应用中读取.设置屏幕亮度 package com.catcher.testcompass; import android.app.Activity; import android.os.Bundle; import android.provider.Settings; import android.provider.Settings.SettingNotFoundException; import android.provider.Settings.System; import android.

电脑屏幕亮度能否自动调节

电脑屏幕亮度自动调节,可以通过下面的两种方式关闭:1.打开控制面板,然后选择打开“电源选项”,打开的界面中,选择点击“更改高级电源设置,在弹出来的电源选项界面中,展开“显示”菜单,再展开“启用自适应亮度”,然后关闭“使用电池”和“接通电源”,这样亮度就不会自动调节了; 2.鼠标右击计算机图标选择管理选项,在打开的管理界面那种,展开“服务和应用程序--服务”,然后在右侧窗口中找到并双击“Sensor Monitoring Service”这个服务;后将“启动类型”选择“手动”,然后点击“停止按钮”

Android_调节屏幕亮度(背景灯)及保持背景灯常亮的方法 (转)

Android写的应用程序其实可以调节屏幕亮度的,查了一下资料发现WindowManager.LayoutParams这个类就包含了调节亮度的参数: WindowManager.LayoutParams lp = getWindow().getAttributes(); lp.screenBrightness = 0.1f; 其中参数screenBrightness就是设置屏幕亮度的0.0f屏幕最暗,1.0f屏幕最亮 在此基础上我又加了一个SeekBar来调节屏幕亮度, 代码参考如下: 此外在回

调整屏幕亮度,调整字体大小

在我们开发项目的过程中,常常会遇到这样的功能,比如调整亮度,或者调整当前屏幕的字体大小, 其实这样的功能很好实现, 具体代码如下: 一.声明成员变量 1 { 2 UIView *_view; 3 BOOL isHidden; 4 UISlider *_slider; 5 UISlider *_twoSlider; 6 float value; 7 UILabel *_label; 8 NSInteger fontSize; 9 } 二.创建所需要改变的字体,一个label或是其他的控件,随意了

win10专业版怎么设置屏幕亮度

一.Win10屏幕亮度调不了怎么回事? 最近很多电脑用户升级Win10都出现了屏幕亮度无法正常调节的问题,有的是屏幕太亮了很刺眼,但无法将屏幕亮度调低:有的则是屏幕亮度太低,屏幕看着费眼.那么导致Win10屏幕亮度调节不了是什么原因,要如何解决呢? 先来说说原因,由于是升级或者安装Win10导致的屏幕亮度调节不了,因此很明显,问题是出在Win10的兼容性方面.导致Win10屏幕亮度调不了,多数是以下情况造成的: 1)电脑配备双显卡,也就是既配备独立显卡,另外CPU还内置核心显卡: 由于Intel

Qt窗口屏幕居中显示(有专门的QDesktopWidget,先计算后显示)

窗口的屏幕居中显示问题,在各开发工具中原理相同,首先使用特定的方法得到显示屏幕的宽度和高度,再根据窗口本身的宽度和高度计算出窗口的左上角坐标位置. Qt中可以采用两种方法达到窗口的屏幕居中显示: 方法一: 显示前先计算出窗口显示位子,并移到对应位子后再显示窗口 int main(int argc, char *argv[]){ QTextCodec::setCodecForTr(QTextCodec::codecForName("GB18030")); QApplication a(a

Mac屏幕亮度保存

关于保存屏幕亮度的方法,论坛上已有几种,搜索 NVRAM 会出来很多教程,在此不再详述,可以参考帖子http://www.idelta.info/archives/nvram_on_hackintosh/现在说一种使用logout hooks写亮度信息到NVRAM的方法.主要是我在使用 rc.shutdown.local 时,这个脚本怎么也不能运行,没有办法就找看看有没有其他的方法,找到另外一个帖子 http://hints.macworld.com/article.php?story=2006

Win8.1屏幕亮度自动调节关闭方法

细心的朋友会发现,Win8.1系统的笔记本屏幕亮度有时候,会根据外界光线亮度以及温度自动调节屏幕亮度,尽管看似比较智能,但有时候我们并不希望笔记本屏幕亮度受光线影响,忽暗忽亮.如果我们希望Win8笔记本屏幕亮度是恒定的,又该如何设置呢?其实方法也比较简单,以下百事网小编介绍下Win8.1屏幕亮度自动调节关闭方法,希望对有需要的朋友,有所参考. Win8.1屏幕亮度自动调节关闭方法 小编发现,关闭Win8.1屏幕亮度自动调节有两种方法,以下具体看看. 方法一: 1,进入Win8.1控制面板,然后进