Android虛擬導(dǎo)航鍵的顯示隱藏實(shí)例
代碼如下:
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{ //夜間模式,系統(tǒng)控件顏色會(huì)變暗 v.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE); } isnight = !isnight; break; case R.id.hidenav: //隱藏虛擬按鍵,點(diǎn)擊又會(huì)重新出現(xiàn) v.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION); break; case R.id.full: //在隱藏顯示系統(tǒng)控件的過(guò)程中不會(huì)來(lái)移動(dòng)我們的控件 v.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE| //隱藏系統(tǒng)狀態(tài)欄,如果設(shè)置了Window.FEATURE_ACTION_BAR_OVERLY同時(shí)隱藏Actionbar View.SYSTEM_UI_FLAG_FULLSCREEN| //這個(gè)會(huì)隱藏屏幕上的所有系統(tǒng)控件 View.SYSTEM_UI_FLAG_HIDE_NAVIGATION); break; case R.id.fullonly: v.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN); } } }
關(guān)鍵代碼部分其實(shí)已經(jīng)在上方了,現(xiàn)在來(lái)說(shuō)說(shuō)幾個(gè)FLAG:
1.View.SYSTEM_UI_FLAG_LOW_PROFILE 這個(gè)Flag設(shè)置之后你會(huì)發(fā)現(xiàn)整個(gè)屏幕中的系統(tǒng)控件部分的背景包括控件本身的會(huì)變暗或者消失,比如狀態(tài)欄中的某些圖標(biāo),但這個(gè)只是系統(tǒng)狀態(tài)欄、虛擬按鍵等進(jìn)入夜間模式,app內(nèi)部的控件并不會(huì)進(jìn)入夜間模式,這個(gè)以后有時(shí)間再研究怎么在應(yīng)用內(nèi)部實(shí)現(xiàn)夜間模式。
2.View.SYSTEM_UI_FLAG_HIDE_NAVIGATION,設(shè)置這個(gè)Flag可以是虛擬按鍵進(jìn)行動(dòng)態(tài)的顯示和隱藏,因?yàn)樘摂M按鍵會(huì)占用屏幕控件,所以虛擬按鍵的顯示和隱藏可能會(huì)影響到你的控件在當(dāng)前界面中的位置,這個(gè)時(shí)候你可能需要設(shè)置另外一個(gè)FLAG,這個(gè)FLAG就是View.SYSTEM_UI_FLAG_LAYOUT_STABLE,設(shè)置這個(gè)FLAG會(huì)是你的控件不在受虛擬按鍵顯示或隱藏的影響。
3.View.SYSTEM_UI_FLAG_FULLSCREEN,這個(gè)Flag應(yīng)該是大家比較常用的一個(gè)Flag,設(shè)置之后會(huì)屏蔽掉狀態(tài)欄等控件使你的界面全屏顯示(不會(huì)隱藏虛擬按鍵),但是如果有actionbar和activitytitle等相關(guān)內(nèi)容存在,這些依舊還會(huì)顯示,如果設(shè)置了Window.FEATURE_ACTION_BAR_OVERLY,在隱藏狀態(tài)欄的同時(shí),則會(huì)將actionbar也一起隱藏,如果要隱藏title則需要設(shè)置Window.FEATURE_NO_TITLE
如何在帶有實(shí)體按鍵的情況下調(diào)出虛擬按鍵
1.通過(guò)修改build.prop調(diào)出虛擬按鍵,其路徑在system/下,在其中找到build.prop打開(kāi)可以看到qemu.hw.mainkeys=1 或者qemu.hw.mainkeys= 0,當(dāng)qemu.hw.mainkeys=1時(shí)實(shí)體鍵盤起效,qemu.hw.mainkeys=0時(shí),顯示虛擬鍵盤,此時(shí)點(diǎn)擊實(shí)體鍵盤不起作用。
以上這篇Android虛擬導(dǎo)航鍵的顯示隱藏實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Android 獲取手機(jī)聯(lián)系人實(shí)例代碼詳解
最近做了個(gè)項(xiàng)目,其中有項(xiàng)目需求是這樣的,需要獲取手機(jī)聯(lián)系人,下面小編把代碼分享給大家,供大家參考2015-12-12Android Studio應(yīng)用開(kāi)發(fā)集成百度語(yǔ)音合成使用方法實(shí)例講解
這篇文章主要介紹了Android Studio應(yīng)用開(kāi)發(fā)集成百度語(yǔ)音合成使用方法實(shí)例講解的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-11-11Android 個(gè)人理財(cái)工具一:項(xiàng)目概述與啟動(dòng)界面的實(shí)現(xiàn)
本文主要介紹Android 開(kāi)發(fā)個(gè)人理財(cái)工具項(xiàng)目概述與啟動(dòng)界面的實(shí)現(xiàn),這里主要對(duì)實(shí)現(xiàn)項(xiàng)目的流程做了詳細(xì)概述,并對(duì)啟動(dòng)界面簡(jiǎn)單實(shí)現(xiàn),有需要的小伙伴可以參考下2016-08-08android開(kāi)發(fā)之listView組件用法實(shí)例簡(jiǎn)析
這篇文章主要介紹了android開(kāi)發(fā)之listView組件用法,結(jié)合實(shí)例形式簡(jiǎn)單分析了listView組件的相關(guān)屬性與使用技巧,需要的朋友可以參考下2016-01-01android教程之把自己的應(yīng)用加入到系統(tǒng)分享中
在Android系統(tǒng)中打開(kāi)相冊(cè)中的某張圖片, 點(diǎn)擊右上角的分享按鈕會(huì)彈出分享列表, 把自己的應(yīng)用加入到里面來(lái),下面是設(shè)置方法2014-02-02Android中使用GridView實(shí)現(xiàn)仿微信圖片上傳功能(附源代碼)
由于工作要求最近在使用GridView完成圖片的批量上傳功能,我的例子當(dāng)中包含仿微信圖片上傳、拍照、本地選擇、相片裁剪等功能,如果有需要的朋友可以看一下2017-08-08Android編程實(shí)現(xiàn)監(jiān)聽(tīng)EditText變化的方法
這篇文章主要介紹了Android編程實(shí)現(xiàn)監(jiān)聽(tīng)EditText變化的方法,涉及Android針對(duì)EditText的相關(guān)操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11Android 有效的解決內(nèi)存泄漏的問(wèn)題實(shí)例詳解
這篇文章主要介紹了Android 有效的解決內(nèi)存泄漏的問(wèn)題的相關(guān)資料,這里舉例說(shuō)明,如何實(shí)現(xiàn)解決內(nèi)存泄漏,需要的朋友可以參考下2016-11-11Android GridView簡(jiǎn)單實(shí)例
這篇文章主要為大家詳細(xì)介紹了Android GridView簡(jiǎn)單實(shí)例,簡(jiǎn)單實(shí)現(xiàn)九宮格效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01Android中TelephonyManager用法實(shí)例
這篇文章主要介紹了Android中TelephonyManager用法,結(jié)合實(shí)例形式分析了TelephonyManager類的功能,使用技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下2016-03-03