我正在尝试创建一个设置应用程序,其中有一个打开/关闭开关或按钮来保持屏幕的开和关(复选框也可以)。
如果开关打开,则必须在关闭应用程序的情况下将其打开。单击该按钮后,该应用程序的屏幕可以关闭。
我是编码方面的初学者。
答案 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>
非常容易:)希望有用。