您好,登錄后才能下訂單哦!
這篇文章主要介紹了Android中怎么實現虛擬導航鍵的顯示隱藏功能的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇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中怎么實現虛擬導航鍵的顯示隱藏功能”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“Android中怎么實現虛擬導航鍵的顯示隱藏功能”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。