Nikniklook 2021-04-22 11:05 采纳率: 0%
浏览 28

android 如何在点击右上角menu3个点后不弹出隐藏的虚拟按键

做平板设备的时候有用到menu,点击3个点之后隐藏的虚拟按键又弹出来了,dialog能够消除掉虚拟按键弹出的产生。这个3个点的(menu)应该怎么消除虚拟按键的弹出。

  • 写回答

1条回答 默认 最新

  • 码农阿豪@新空间 新星创作者: 前端开发技术领域 2024-07-15 08:31
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    问题分析: 在平板设备上,当点击菜单的三个点的时候,系统会弹出虚拟按键。在弹出dialog的时候,虚拟按键会被隐藏。因此,可以通过弹出一个dialog的方式来解决虚拟按键的弹出问题。 解决方案:
    1. 创建一个Dialog类,覆盖onCreateDialog方法,并在该方法中返回一个Dialog实例。
    2. 在Dialog的onCreate方法中设置为全屏显示,并且隐藏虚拟按键。
    3. 当点击菜单的三个点时,弹出该Dialog,从而达到隐藏虚拟按键的效果。 案例代码:
    import android.app.AlertDialog;
    import android.app.Dialog;
    import android.content.DialogInterface;
    import android.os.Bundle;
    import android.view.View;
    import android.view.Window;
    import android.view.WindowManager;
    public class MenuActivity extends Activity {
        private static final int DIALOG_ID = 1;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
        }
        @Override
        protected Dialog onCreateDialog(int id) {
            switch (id) {
                case DIALOG_ID:
                    AlertDialog.Builder builder = new AlertDialog.Builder(this);
                    builder.setMessage("Dialog to hide virtual buttons");
                    builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int which) {
                            dialog.dismiss();
                        }
                    });
                    return builder.create();
                default:
                    return null;
            }
        }
        public void onMenuClicked(View view) {
            showDialog(DIALOG_ID);
        }
    }
    

    上述代码中,当菜单按钮被点击时,弹出一个Dialog来隐藏虚拟按键。通过显示Dialog的方式,可以避免虚拟按键的弹出,达到需求。

    评论

报告相同问题?