admin管理员组文章数量:1618695
一、目的:
1、项目需要,需要实现Untiy代码控制安卓屏幕亮度
二、参考:
1、在Unity中调整安卓当前窗口屏幕亮度的实现(无需导出工程或制作插件)
https://blog.csdn/schwarzer_w/article/details/72934700?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1
①总结:good:直接使用这个代码就可以了,
三、操作
1、实现效果:
平板中拖动Slder就可以实现控制屏幕亮度大小的设置
1、工程设置
①做了一个Slider和Text,slider来控制屏幕亮度,Text显示Slider数值
1、代码:控制屏幕亮度的代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class ControlScreenBrightness : MonoBehaviour
{
/// <summary>slider:控制屏幕亮度</summary>
public GameObject obj_slider;
public GameObject obj_text;
// Use this for initialization
void Start()
{
#if UNITY_IOS
#elif UNITY_EDITOR
return;
#elif UNITY_ANDROID
SetApplicationBrightnessTo(1);
#endif
}
// Update is called once per frame
void Update()
{
float tmp = obj_slider.GetComponent<Slider>().value;
obj_text.GetComponent<Text>().text = tmp.ToString();
#if UNITY_IOS
#elif UNITY_EDITOR
return;
#elif UNITY_ANDROID
SetApplicationBrightnessTo(tmp);
#endif
}
public void SetApplicationBrightnessTo(float Brightness)
{
AndroidJavaObject Activity = null;
Activity = new AndroidJavaClass("com.unity3d.player.UnityPlayer").GetStatic<AndroidJavaObject>("currentActivity");
Activity.Call("runOnUiThread", new AndroidJavaRunnable(() =>
{
AndroidJavaObject Window = null, Attributes = null;
Window = Activity.Call<AndroidJavaObject>("getWindow");
Attributes = Window.Call<AndroidJavaObject>("getAttributes");
Attributes.Set("screenBrightness", Brightness);
Window.Call("setAttributes", Attributes);
}));
}
}
版权声明:本文标题:Untiy代码控制安卓屏幕亮度 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1728775572a1172456.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论