這篇文章將為大家詳細(xì)講解有關(guān)Android中如何實(shí)現(xiàn)虛擬導(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)控件顏色會變暗 v.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE); } isnight = !isnight; break; case R.id.hidenav: //隱藏虛擬按鍵,點(diǎn)擊又會重新出現(xiàn) v.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION); break; case R.id.full: //在隱藏顯示系統(tǒng)控件的過程中不會來移動我們的控件 v.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE| //隱藏系統(tǒng)狀態(tài)欄,如果設(shè)置了Window.FEATURE_ACTION_BAR_OVERLY同時隱藏Actionbar View.SYSTEM_UI_FLAG_FULLSCREEN| //這個會隱藏屏幕上的所有系統(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)在來說說幾個FLAG:
1.View.SYSTEM_UI_FLAG_LOW_PROFILE 這個Flag設(shè)置之后你會發(fā)現(xiàn)整個屏幕中的系統(tǒng)控件部分的背景包括控件本身的會變暗或者消失,比如狀態(tài)欄中的某些圖標(biāo),但這個只是系統(tǒng)狀態(tài)欄、虛擬按鍵等進(jìn)入夜間模式,app內(nèi)部的控件并不會進(jìn)入夜間模式,這個以后有時間再研究怎么在應(yīng)用內(nèi)部實(shí)現(xiàn)夜間模式。
2.View.SYSTEM_UI_FLAG_HIDE_NAVIGATION,設(shè)置這個Flag可以是虛擬按鍵進(jìn)行動態(tài)的顯示和隱藏,因?yàn)樘摂M按鍵會占用屏幕控件,所以虛擬按鍵的顯示和隱藏可能會影響到你的控件在當(dāng)前界面中的位置,這個時候你可能需要設(shè)置另外一個FLAG,這個FLAG就是View.SYSTEM_UI_FLAG_LAYOUT_STABLE,設(shè)置這個FLAG會是你的控件不在受虛擬按鍵顯示或隱藏的影響。
3.View.SYSTEM_UI_FLAG_FULLSCREEN,這個Flag應(yīng)該是大家比較常用的一個Flag,設(shè)置之后會屏蔽掉狀態(tài)欄等控件使你的界面全屏顯示(不會隱藏虛擬按鍵),但是如果有actionbar和activitytitle等相關(guān)內(nèi)容存在,這些依舊還會顯示,如果設(shè)置了Window.FEATURE_ACTION_BAR_OVERLY,在隱藏狀態(tài)欄的同時,則會將actionbar也一起隱藏,如果要隱藏title則需要設(shè)置Window.FEATURE_NO_TITLE
如何在帶有實(shí)體按鍵的情況下調(diào)出虛擬按鍵
1.通過修改build.prop調(diào)出虛擬按鍵,其路徑在system/下,在其中找到build.prop打開可以看到qemu.hw.mainkeys=1 或者qemu.hw.mainkeys= 0,當(dāng)qemu.hw.mainkeys=1時實(shí)體鍵盤起效,qemu.hw.mainkeys=0時,顯示虛擬鍵盤,此時點(diǎn)擊實(shí)體鍵盤不起作用。
關(guān)于“Android中如何實(shí)現(xiàn)虛擬導(dǎo)航鍵的顯示隱藏功能”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
分享標(biāo)題:Android中如何實(shí)現(xiàn)虛擬導(dǎo)航鍵的顯示隱藏功能-創(chuàng)新互聯(lián)
標(biāo)題來源:http://vcdvsql.cn/article30/eehso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、關(guān)鍵詞優(yōu)化、用戶體驗(yàn)、品牌網(wǎng)站制作、微信公眾號、建站公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容