文档章节

屏幕亮度显示的控制

dailei1021
 dailei1021
发布于 2015/10/22 14:41
字数 229
阅读 29
收藏 0

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属性中。

© 著作权归作者所有

共有 人打赏支持
下一篇: 拖动条SeekBar
dailei1021
粉丝 3
博文 64
码字总数 23660
作品 0
深圳
程序员
私信 提问
Deepin 系统更新记录(2014-05-07)

今日,我们对Deepin2014系统进行了例行更新,修复以下重要Bug和调整,Deepin2014 Beta版本计划于本月15日发布,尽请期待! Bug修复 *系统菜单不抢占焦点 *后端启动失败导致无线网络一直扫描 ...

cxbii
2014/05/07
607
2
Ubuntu 屏幕亮度

Ubuntu 默认屏幕亮度 最近在笔记本重装了一下Ubuntu发现每次重启机器屏幕亮度都是满格,实在是受不了,特别是夜晚,每次都要调整屏幕亮度感觉特别不爽。上网一收发现许多人都出现这样的问题,...

雨中人X
2015/12/21
114
1
六个细节改变提升 Android L 用户体验

导语:美国科技博客Android Authority近期刊文称,谷歌在I/O开发者大会上发布了新版Android L系统,并公布了这一系统的新特性,包括对通知的重新设计、菜单的调整,以及Android for Work等。...

oschina
2014/07/07
4.5K
22
Android各种Manager-郭通

一、PowerManager 主要是用来控制电源状态,设置屏幕状态,和电池待机状态 PowerManager pm = ((PowerManager)getSystemService(POWER_SERVICE)); 这里我需要保持屏幕长期唤醒,不被锁屏,所...

蓝神100
2018/06/28
0
0
Android中五大Manager详解及使用技巧

一、PowerManager 主要是用来控制电源状态,设置屏幕状态,和电池待机状态 PowerManager pm = ((PowerManager)getSystemService(POWERSERVICE)); 这里我需要保持屏幕长期唤醒,不被锁屏,所以...

ljheee
2017/02/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Nextjs+React非页面组件SSR渲染

@随风溜达的向日葵 Nextjs Nextjs是React生态中非常受欢迎的SSR(server side render——服务端渲染)框架,只需要几个步骤就可以搭建一个支持SSR的工程(_Nextjs_的快速搭建见Next.js入门)...

随风溜达的向日葵
53分钟前
0
0
如何在 Linux 系统查询机器最近重启时间

在你的 Linux 或类 UNIX 系统中,你是如何查询系统上次重新启动的日期和时间?怎样显示系统关机的日期和时间? last 命令不仅可以按照时间从近到远的顺序列出该会话的特定用户、终端和主机名...

来来来来来
今天
3
0
Redis协议是什么样的

前言 我们用过很多redis的客户端,有没有相过自己撸一个redis客户端? 其实很简单,基于socket,监听6379端口,解析数据就可以了。 redis协议 解析数据的过程主要依赖于redis的协议了。 我们...

春哥大魔王的博客
今天
6
0
乱入Linux界的我是如何学习的

欢迎来到建哥学Linux,咳!咳!咳!开个玩笑哈,我是一个IT男,IT界的入门选手,正在学习Linux。 在之前,一直想进军IT界,学习IT技术,但是苦于没有人指导,也不知道学什么,最开始我自己在...

linuxCool
今天
4
0
携程Apollo统一配置中心的搭建和使用(java)

一.Apollo配置中心介绍 1、What is Apollo 1.1 Apollo简介 Apollo(阿波罗)是携程框架部门研发的开源配置管理中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到...

morpheusWB
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部