在点击按钮之前,屏幕不能点击。

问题描述 投票:1回答:1

我正在做一个kotlin应用,我的活动是全屏的,我想做一个按钮,除非点击按钮,否则屏幕不能退出或返回或任何东西。就像视频播放器锁定类型的按钮一样。

android kotlin fullscreen
1个回答
1
投票

我的第一个想法是使布尔值 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;
    }
}

这将取消每一个事件,比如点击后退按钮或改变音量。

© www.soinside.com 2019 - 2024. All rights reserved.