中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android中如何實現虛擬導航鍵的顯示隱藏功能

發布時間:2021-06-28 10:16:05 來源:億速云 閱讀:439 作者:小新 欄目:移動開發

這篇文章將為大家詳細講解有關Android中如何實現虛擬導航鍵的顯示隱藏功能,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

代碼如下:

package test.lb.com.myapplication;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends Activity implements View.OnClickListener{
 boolean isnight = false;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  Button nightbutton = (Button) findViewById(R.id.nightbutton);
  Button hidebutton = (Button) findViewById(R.id.hidenav);
  Button fullbutton = (Button) findViewById(R.id.full);
  Button fullonly = (Button) findViewById(R.id.fullonly);
  nightbutton.setOnClickListener(this);
  hidebutton.setOnClickListener(this);
  fullbutton.setOnClickListener(this);
  fullonly.setOnClickListener(this);
 }
 @Override
 public void onClick(View v) {
  switch (v.getId()){
   case R.id.nightbutton:
    if (isnight){
     v.setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);
    }else{
     //夜間模式,系統控件顏色會變暗
     v.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE);
    }
    isnight = !isnight;
    break;
   case R.id.hidenav:
    //隱藏虛擬按鍵,點擊又會重新出現
    v.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
    break;
   case R.id.full:
    //在隱藏顯示系統控件的過程中不會來移動我們的控件
    v.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE|
      //隱藏系統狀態欄,如果設置了Window.FEATURE_ACTION_BAR_OVERLY同時隱藏Actionbar
      View.SYSTEM_UI_FLAG_FULLSCREEN|
      //這個會隱藏屏幕上的所有系統控件
      View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
    break;
   case R.id.fullonly:
    v.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN);
  }
 }
}

關鍵代碼部分其實已經在上方了,現在來說說幾個FLAG:

1.View.SYSTEM_UI_FLAG_LOW_PROFILE 這個Flag設置之后你會發現整個屏幕中的系統控件部分的背景包括控件本身的會變暗或者消失,比如狀態欄中的某些圖標,但這個只是系統狀態欄、虛擬按鍵等進入夜間模式,app內部的控件并不會進入夜間模式,這個以后有時間再研究怎么在應用內部實現夜間模式。

2.View.SYSTEM_UI_FLAG_HIDE_NAVIGATION,設置這個Flag可以是虛擬按鍵進行動態的顯示和隱藏,因為虛擬按鍵會占用屏幕控件,所以虛擬按鍵的顯示和隱藏可能會影響到你的控件在當前界面中的位置,這個時候你可能需要設置另外一個FLAG,這個FLAG就是View.SYSTEM_UI_FLAG_LAYOUT_STABLE,設置這個FLAG會是你的控件不在受虛擬按鍵顯示或隱藏的影響。

3.View.SYSTEM_UI_FLAG_FULLSCREEN,這個Flag應該是大家比較常用的一個Flag,設置之后會屏蔽掉狀態欄等控件使你的界面全屏顯示(不會隱藏虛擬按鍵),但是如果有actionbar和activitytitle等相關內容存在,這些依舊還會顯示,如果設置了Window.FEATURE_ACTION_BAR_OVERLY,在隱藏狀態欄的同時,則會將actionbar也一起隱藏,如果要隱藏title則需要設置Window.FEATURE_NO_TITLE

如何在帶有實體按鍵的情況下調出虛擬按鍵

1.通過修改build.prop調出虛擬按鍵,其路徑在system/下,在其中找到build.prop打開可以看到qemu.hw.mainkeys=1 或者qemu.hw.mainkeys= 0,當qemu.hw.mainkeys=1時實體鍵盤起效,qemu.hw.mainkeys=0時,顯示虛擬鍵盤,此時點擊實體鍵盤不起作用。

關于“Android中如何實現虛擬導航鍵的顯示隱藏功能”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

云和县| 米易县| 潍坊市| 远安县| 东乡县| 东至县| 沽源县| 石河子市| 五华县| 芜湖市| 万山特区| 郯城县| 康定县| 兴安盟| 万盛区| 玉屏| 客服| 明溪县| 江门市| 安西县| 大名县| 沁水县| 湘乡市| 年辖:市辖区| 莱阳市| 公安县| 石首市| 永修县| 金湖县| 抚宁县| 吉木萨尔县| 台江县| 高邮市| 阿拉尔市| 桂平市| 金坛市| 科技| 峡江县| 六枝特区| 阜阳市| 河源市|