如何使用开关/按钮编写保持屏幕开/关代码?

时间:2018-07-15 13:23:43

标签: java android

我正在尝试创建一个设置应用程序,其中有一个打开/关闭开关或按钮来保持屏幕的开和关(复选框也可以)。

如果开关打开,则必须在关闭应用程序的情况下将其打开。单击该按钮后,该应用程序的屏幕可以关闭。

我是编码方面的初学者。

2 个答案:

答案 0 :(得分:0)

解决方案1 ​​

在xml的一些小部件中添加此行

android:keepScreenOn="true"

解决方案2

setContentView之前添加标记

getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
setContentView(R.layout.layout);

对于屏幕外

getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

答案 1 :(得分:0)

使用此方法:

JAVA 代码:

MySwitch = (Switch) findViewById(R.id.ScreenController);
        MyText = (TextView) findViewById(R.id.StatusText);

        MySwitch.setOnCheckedChangeListener(new OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(CompoundButton buttonView,
                             boolean isChecked) {

                if(isChecked){

                    getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
                    MyText.setText("Keep screen ON");

                    }else{

                    getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
                    MyText.setText("Keep screen OFF");

                    }
                }
            });

XML [布局]代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="match_parent"
    android:layout_width="match_parent">

    <Switch
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:layout_centerInParent="true"
        android:id="@+id/ScreenController"/>

    <TextView
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:text="Keep Screen OFF"
        android:layout_below="@id/ScreenController"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="10dp"
        android:textSize="30sp"
        android:id="@+id/StatusText"/>

</RelativeLayout>

非常容易:)希望有用。