Android--java实现手机亮度控制

文章目录

    • 1、开发需求
    • 2、运行环境
    • 3、主要文件
    • 4、布局文件信息
    • 5、手机界面控制代码
    • 6、debug

1、开发需求

需求:开发一个Android apk实现手机亮度控制

2、运行环境

Android studio最新版本

3、主要文件

app\src\main\AndroidManifest.xml
app\src\main\res\layout\activity_main.xml
app\src\main\java\com\example\sylon\MainActivity.java
在这里插入图片描述代码路径:app\src\main\AndroidManifest.xml
需要修改权限
在这里插入图片描述

4、布局文件信息

路径:app\src\main\res\layout\activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:id="@+id/main"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><SeekBarandroid:id="@+id/seekBar"android:layout_width="274dp"android:layout_height="32dp"android:layout_marginStart="27dp"android:layout_marginTop="38dp"android:layout_marginEnd="83dp"android:layout_marginBottom="24dp"android:maxHeight="5.0dp"android:minHeight="5.0dp"android:progressDrawable="@drawable/sb_bar"android:thumb="@drawable/sb_thumb"app:layout_constraintBottom_toTopOf="@+id/textview"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.037"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"app:layout_constraintVertical_bias="1.0" /><TextViewandroid:id="@+id/textview"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="40dp"android:layout_marginTop="120dp"android:layout_marginEnd="30dp"android:layout_marginBottom="16dp"android:text="sylonbar"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.0"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"app:layout_constraintVertical_bias="0.187" /></androidx.constraintlayout.widget.ConstraintLayout>

5、手机界面控制代码

路径:app\src\main\java\com\example\sylon\MainActivity.java

package com.example.sylon;
import android.os.Bundle;
import android.app.Activity;
import android.view.WindowManager;
import android.view.Window;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import android.widget.SeekBar;
import android.widget.TextView;
import android.widget.Toast;
import android.content.Context;
import android.content.ContentResolver;
import android.provider.Settings;
import android.util.Log;/*
public class MouseSpeedChanger {private static final String TAG = "MouseSpeedChanger";// 修改鼠标速度的方法public static void setMouseSpeed(ContentResolver resolver, int speed) {if (speed >= 1 && speed <= 10) {// 将鼠标速度的值存储到系统设置中Settings.System.putInt(resolver, Settings.System.POINTER_SPEED, speed);// 通知系统设置已更改Uri uri = Settings.System.getUriFor(Settings.System.POINTER_SPEED);resolver.notifyChange(uri, null);Log.d(TAG, "Mouse speed set to: " + speed);} else {Log.e(TAG, "Invalid mouse speed value: " + speed);}}
}
*/
public class MainActivity extends AppCompatActivity {private SeekBar seekb_normal;private TextView txt_cur;private Context mContext;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//mContext = MainActivity.this;bindViews();}// 获取当前屏幕亮度值private int getCurrentBrightness() {int brightness = 0;try {brightness = Settings.System.getInt(getContentResolver(), Settings.System.POINTER_SPEED);} catch (Settings.SettingNotFoundException e) {e.printStackTrace(); // 捕获异常}return brightness;}// 设置新的屏幕亮度private void setBrightness(int brightness) {ContentResolver cResolver = getContentResolver();// 将进度值转换为0-255范围int newBrightness = brightness * 255 / 100;if (Settings.System.canWrite(this)) {Settings.System.putInt(cResolver, Settings.System.POINTER_SPEED, newBrightness);}// 更新当前窗口的亮度WindowManager.LayoutParams layoutParams = getWindow().getAttributes();layoutParams.screenBrightness = newBrightness / 255.0f; // 转换为0.0到1.0之间getWindow().setAttributes(layoutParams);}private void bindViews() {seekb_normal = (SeekBar) findViewById(R.id.seekBar);txt_cur = (TextView) findViewById(R.id.textview);int currentBrightness = getCurrentBrightness();seekb_normal.setProgress(currentBrightness*100/255);txt_cur.setText("当前亮度: " + currentBrightness*100/255);mContext = getApplicationContext();seekb_normal.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {@Overridepublic void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {setBrightness(progress);txt_cur.setText("当前亮度:" + progress + "  / 100 ");}@Overridepublic void onStartTrackingTouch(SeekBar seekBar) {Toast.makeText(mContext, "触碰SeekBar", Toast.LENGTH_SHORT).show();}@Overridepublic void onStopTrackingTouch(SeekBar seekBar) {Toast.makeText(mContext, "放开SeekBar", Toast.LENGTH_SHORT).show();}});}
}

6、debug

工具如果找不到,直接全局搜索。
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/495426.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Modbus数据网关在制造企业的应用与效果

Modbus是一种广泛应用于工业通信的协议&#xff0c;支持多种设备间的数据交换&#xff0c;如传感器、仪器仪表、PLC、工业机器人、数控机床等。Modbus数据网关则是一种网络通信转换设备&#xff0c;它能够将Modbus协议的数据转换为其他主流协议&#xff08;如MQTT、OPC UA、HTT…

秒鲨后端之MyBatis【2】默认的类型别名、MyBatis的增删改查、idea中设置文件的配置模板、MyBatis获取参数值的两种方式、特殊SQL的执行

别忘了请点个赞收藏关注支持一下博主喵&#xff01;&#xff01;&#xff01;! ! ! 下篇更新&#xff1a; 秒鲨后端之MyBatis【3】自定义映射resultMap、动态SQL、MyBatis的缓存、MyBatis的逆向工程、分页插件。 默认的类型别名 MyBatis的增删改查 添加 <!--int insertUs…

从数据仓库到数据中台再到数据飞轮:电信行业的数据技术进化史

前言 大家好&#xff0c;我是一名大数据开发工程师&#xff0c;电信行业作为高度数据驱动的行业&#xff0c;长期以来通过技术创新不断优化服务质量和业务运营。从最早期的数据仓库&#xff0c;到数据中台&#xff0c;再到如今的数据飞轮&#xff0c;电信行业的数据技术经历了几…

【机器学习(九)】分类和回归任务-多层感知机(Multilayer Perceptron,MLP)算法-Sentosa_DSML社区版 (1)111

文章目录 一、算法概念111二、算法原理&#xff08;一&#xff09;感知机&#xff08;二&#xff09;多层感知机1、隐藏层2、激活函数sigma函数tanh函数ReLU函数 3、反向传播算法 三、算法优缺点&#xff08;一&#xff09;优点&#xff08;二&#xff09;缺点 四、MLP分类任务…

【NLP高频面题 - 高效微调篇】什么是提示微调?

【NLP高频面题 - 高效微调篇】什么是提示微调&#xff1f; 重要性&#xff1a;★ NLP Github 项目&#xff1a; NLP 项目实践&#xff1a;fasterai/nlp-project-practice 介绍&#xff1a;该仓库围绕着 NLP 任务模型的设计、训练、优化、部署和应用&#xff0c;分享大模型算法…

基于kraft部署kafka集群

kafka介绍 Apache Kafka 是一个开源的分布式事件流平台&#xff0c;被数千家公司用于高性能数据管道、流分析、数据集成和关键任务应用。 Kafka是一个拥有高吞吐、可持久化、可水平扩展&#xff0c;支持流式数据处理等多种特性的分布式消息流处理中间件&#xff0c;采用分布式…

debug diagnostic tool 调试.net的错误

下载安装debug diagnostic tool debug diagnostic tool 设置 因为现在都是多cpu,所以cpu可以设置低一点,就抓去数据 微软教程

京东科技基于 Apache SeaTunnel 复杂场景适配 #数据集成

作者&#xff1a;宁诚、陈伟强 京东科技架构师 技术背景与挑战 技术背景 2023年第一季度&#xff0c;京东科技的营销与数据资产部开始规划数据洞察系统产品&#xff0c;主要服务于京东科技营销体系的业务团队。该系统的分析内容涵盖了京东集团在商城、金融和物流等各个业务系…

基于Spring Boot的工商局商家管理系统

一、系统背景与意义 随着市场经济的不断发展&#xff0c;商家数量日益增多&#xff0c;工商局对商家的管理需求也日益复杂。传统的管理方式存在诸多弊端&#xff0c;如信息不透明、管理效率低下等。因此&#xff0c;开发一种高效、便捷、智能化的工商局商家管理系统显得尤为重…

论文DiffBP: generative diffusion of 3D molecules for target protein binding

研究背景 在药物发现中&#xff0c;生成能与特定蛋白质结合的分子至关重要但极具挑战。以往的工作大多采用自回归方式逐个生成原子的元素类型和三维坐标&#xff0c;但在真实分子系统中&#xff0c;原子间的相互作用是全局性的&#xff0c;基于能量考虑&#xff0c;概率建模应基…

如何在谷歌浏览器中进行网络速度测试

在当今高度依赖互联网的时代&#xff0c;网络速度的快慢直接影响着我们的工作、学习和娱乐等各个方面。因此&#xff0c;了解如何准确测试网络速度成为了每个网民应掌握的基本技能。谷歌浏览器作为一款广泛使用的浏览器&#xff0c;提供了便捷且高效的网络速度测试功能。本文将…

JAVAweb学习日记(三)Ajax

一、Ajax Axios&#xff1a; 入门&#xff1a; 案例&#xff1a; 二、前后端分离开发 介绍&#xff1a; APIfox&#xff1a; Apifox 前端工程化&#xff1a; 环境准备&#xff1a; Vue项目-创建&#xff1a; Vue项目-配置端口&#xff1a; Vue项目-开发流程&#xff1a; Vue…

聊天社交管理系统 Java 源码,构建个性化社交空间

社交网络已经是我们生活中非常重要的一部分&#xff0c;一个高效、个性化的聊天社交管理系统都能极大提升用户体验。 多种消息通知类型&#xff0c;支持新消息通知&#xff0c;图标闪烁、声音提醒和弹窗提醒。 1.音视频&#xff1a; 支持二人聊天&#xff0c;有语音聊天、桌面…

Shion(时间追踪工具) v0.13.2

Shion 是一款多功能的时间追踪软件&#xff0c;旨在帮助用户更好地管理时间。它提供了多种自定义数据卡片&#xff0c;如github风格的一年概览、30天单项数据柱状图和每日24小时活动展示&#xff0c;以便用户清晰地了解自己的日常生活。Shion还具备自动监听程序使用时间的功能&…

USDZ格式轻松转OBJ

USDZ格式简介 USDZ&#xff0c;作为苹果公司与PIXAR工作室联手推出的新型AR文件格式&#xff0c;正逐步成为增强现实&#xff08;AR&#xff09;领域中的佼佼者。USDZ文件不仅支持丰富的3D模型数据&#xff0c;还能嵌入材质、动画及交互信息&#xff0c;为用户带来沉浸式的AR体…

100V宽压输入反激隔离电源,适用于N道沟MOSFET或GaN或5V栅极驱动器,无需光耦合

说明: PC4411是一个隔离的反激式控制器在宽输入电压下具有高效率范围为2.7V至100V。它直接测量初级侧反激输出电压波形&#xff0c;不需要光耦合器或第三方用于调节的绕组。设置输出只需要一个电阻器电压。PC4411提供5V栅极驱动驱动外部N沟道MOSFET的电压或GaN。内部补偿和软启…

Linux的启动流程

目录 1、 加电开机&#xff0c;启动BIOS进行自检。 2、读取MBR(Master Boot Record, 主要启动记录区)。 3、加载GRUB&#xff08;GRand Unified Bootloader&#xff09;菜单。 4、加载内核&#xff08;kernel&#xff09;和驱动程序 5、运行systemd进程&#xff0c;加载如…

打造高效的 LaTeX 公式编辑器

在科研和工程领域&#xff0c;LaTeX 是最常用的公式排版工具之一。为了帮助用户更加高效地编辑和管理 LaTeX 公式&#xff0c;我们开发了一个集成了实时预览、公式管理和多格式导出功能的公式编辑器。本文将介绍这个工具的核心功能&#xff0c;并展示部分实现代码。 核心功能 …

OpenAI 12天发布会:AI革命的里程碑@附35页PDF文件下载

在人工智能的浪潮中&#xff0c;OpenAI的12天发布会无疑是2024年科技界的一场盛宴。从12月5日开始&#xff0c;OpenAI连续12天每天发布一个新应用或功能&#xff0c;标志着AI技术的又一次飞跃。本文将梳理这些激动人心的发布&#xff0c;带你一探究竟。 OpenAI发布会概览 Ope…

水电站视频智能监控系统方案设计与技术应用方案

一、背景需求 水电站作为国家重要的能源基地&#xff0c;其安全运行对于保障能源供应和社会稳定具有重要意义。然而&#xff0c;传统的人工监控方式存在着诸多问题&#xff0c;如人力成本高、监控范围有限、反应不及时等。因此&#xff0c;水电站急需引进一种先进的视频智能监控…