簡體   English   中英

如何刪除底部屏幕上的按鈕欄

[英]How to remove button bar at the bottom screen

我正在構建自定義圖像。我正在瀏覽 android 源代碼,我想擺脫 android 中的底部軟鍵按鈕欄,有人可以指導我更改源文件嗎?在此處輸入圖像描述

要啟用/禁用它們,據我所知,您只需編輯 build.prop:

qemu.hw.mainkeys=0 (show on screen buttons)

或者

qemu.hw.mainkeys=1 (disable on screen buttons)

如果您的 build.prop 中不存在該行,請將其添加到底部。

在沒有底部導航欄的情況下進行屏幕截圖的最簡單方法是使用模擬器 (AVD) 並編輯其配置文件。

轉到 .android/avd/virtual-device.avd

然后編輯 config.ini:

hw.mainKeys=yes
hw.keyboard=yes

兩者都應設置為“是”

為了能夠再次看到該欄,請將它們設置回“否”。

但是,您不能永久隱藏它:

getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);

此代碼隱藏軟鍵,直到用戶與您的應用交互。 這是有意設計的,試想一下,您沒有提供任何退出當前屏幕並隱藏這些鍵的方法,用戶將被“困”在單向死胡同中。

你可以在這里找到更多。

getWindow().getDecorView().setSystemUiVisibility(
                View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                | View.SYSTEM_UI_FLAG_FULLSCREEN
                | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY); 

在 onCreate 中使用此代碼。 但這需要 api lv 超過 19。

除了上面 Aykut Burak SAFAK 的回答之外,您可以將他的代碼放在onWindowFocusChanged事件中,以確保無論何時Activity獲得焦點(例如解鎖后),它都保持全屏狀態而沒有軟鍵狀態。

@Override
public void onWindowFocusChanged(boolean hasFocus){
    super.onWindowFocusChanged(hasFocus);
    getWindow().getDecorView().setSystemUiVisibility(
            View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                    | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                    | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                    | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                    | View.SYSTEM_UI_FLAG_FULLSCREEN
                    | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
}

隨着三星新的 SureLock 的推出,底部欄可以在不生根設備的情況下被禁用或隱藏。 您所要做的就是安裝 SureLock Lockdown for Samsung 並按照以下站點中提到的程序進行操作,

http://www.42gears.com/blog/2013/07/disablehide-android-bottom-bar-without-rooting-samsung-galaxy-tablets/

查看以下鏈接。它可以幫助您理解它。

http://www.42gears.com/blog/2012/02/disable-bottom-bar-in-android-honeycomb-tablets-with-surelock/

如果您只想讓導航欄(按鈕欄)不那么分散注意力,請嘗試youractivity.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE)

我認為這是可能的

隱藏軟鍵嘗試getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION); 但它不適用於平板電腦 4+。

是的,您可以在您的活動中使用它:

@Override
public void onWindowFocusChanged(boolean hasFocus) {
        super.onWindowFocusChanged(hasFocus);
    if (hasFocus) {
        decorView.setSystemUiVisibility(
                View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                | View.SYSTEM_UI_FLAG_FULLSCREEN
                | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);}
}

如果我隱藏導航欄,有沒有辦法將控件拉伸到屏幕底部? 我有一個高度設置為 match_parent 的 ImageView,但缺少的導航欄留下了一個黑色矩形。

對於 30 級

window.decorView.windowInsetsController?.hide(android.view.WindowInsets.Type.statusBars())

30以下

window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_FULLSCREEN

只需在 config.ini 文件中將 hw.mainKeys 更改為 yes。

1- 打開 config.ini 文件(要在系統中查找文件,請按照以下步驟操作)。

在此處輸入圖像描述

2-不要忘記重新啟動您的模擬器。

對於 API 32 android studio 模擬器,您可以將“手勢導航”更改為“3 按鈕導航”或“2 按鈕導航”,因為它有時會出現滾動抽屜布局的問題

設置 -> 系統 -> 手勢 -> 系統導航在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM