【发布时间】:2020-06-17 00:43:39
【问题描述】:
我正在开发一个 kotlin 应用程序,我的活动是全屏的,我想制作一个按钮,除非单击该按钮,否则屏幕无法退出或返回或任何其他操作。就像视频播放器锁定类型中的那个。
【问题讨论】:
标签: android kotlin fullscreen
我正在开发一个 kotlin 应用程序,我的活动是全屏的,我想制作一个按钮,除非单击该按钮,否则屏幕无法退出或返回或任何其他操作。就像视频播放器锁定类型中的那个。
【问题讨论】:
标签: android kotlin fullscreen
我的第一个想法是制作布尔值isLocked,然后单击按钮后将此值更改为相反的值并覆盖您想要锁定的所有功能/事件等,如果isLocked 为真,则不要执行它们。
这是我锁定后退按钮的简单代码(在 java 中,但可以轻松更改为 Kotlin)
public class MainActivity extends AppCompatActivity
{
boolean isLocked = false;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
isLocked ^= true;
System.out.println(isLocked);
}
});
}
@Override
public void onBackPressed()
{
if (!isLocked)
{
super.onBackPressed();
}
}
}
我认为以类似的方式您可以锁定每个事件。
你也可以这样做:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if (!isLocked)
{
return super.onKeyDown(keyCode, event);
}
else
{
return true;
}
}
这将取消所有事件,例如单击返回按钮或更改音量
【讨论】: