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)控件顏色會變暗
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)的顯示和隱藏,因為虛擬按鍵會占用屏幕控件,所以虛擬按鍵的顯示和隱藏可能會影響到你的控件在當(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í)體鍵盤不起作用。
以上這篇Android虛擬導(dǎo)航鍵的顯示隱藏實(shí)例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Android 獲取手機(jī)聯(lián)系人實(shí)例代碼詳解
最近做了個項目,其中有項目需求是這樣的,需要獲取手機(jī)聯(lián)系人,下面小編把代碼分享給大家,供大家參考2015-12-12
Android Studio應(yīng)用開發(fā)集成百度語音合成使用方法實(shí)例講解
這篇文章主要介紹了Android Studio應(yīng)用開發(fā)集成百度語音合成使用方法實(shí)例講解的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-11-11
Android 個人理財工具一:項目概述與啟動界面的實(shí)現(xiàn)
本文主要介紹Android 開發(fā)個人理財工具項目概述與啟動界面的實(shí)現(xiàn),這里主要對實(shí)現(xiàn)項目的流程做了詳細(xì)概述,并對啟動界面簡單實(shí)現(xiàn),有需要的小伙伴可以參考下2016-08-08
android開發(fā)之listView組件用法實(shí)例簡析
這篇文章主要介紹了android開發(fā)之listView組件用法,結(jié)合實(shí)例形式簡單分析了listView組件的相關(guān)屬性與使用技巧,需要的朋友可以參考下2016-01-01
android教程之把自己的應(yīng)用加入到系統(tǒng)分享中
在Android系統(tǒng)中打開相冊中的某張圖片, 點(diǎn)擊右上角的分享按鈕會彈出分享列表, 把自己的應(yīng)用加入到里面來,下面是設(shè)置方法2014-02-02
Android中使用GridView實(shí)現(xiàn)仿微信圖片上傳功能(附源代碼)
由于工作要求最近在使用GridView完成圖片的批量上傳功能,我的例子當(dāng)中包含仿微信圖片上傳、拍照、本地選擇、相片裁剪等功能,如果有需要的朋友可以看一下2017-08-08
Android編程實(shí)現(xiàn)監(jiān)聽EditText變化的方法
這篇文章主要介紹了Android編程實(shí)現(xiàn)監(jiān)聽EditText變化的方法,涉及Android針對EditText的相關(guān)操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-11-11
Android 有效的解決內(nèi)存泄漏的問題實(shí)例詳解
這篇文章主要介紹了Android 有效的解決內(nèi)存泄漏的問題的相關(guān)資料,這里舉例說明,如何實(shí)現(xiàn)解決內(nèi)存泄漏,需要的朋友可以參考下2016-11-11
Android中TelephonyManager用法實(shí)例
這篇文章主要介紹了Android中TelephonyManager用法,結(jié)合實(shí)例形式分析了TelephonyManager類的功能,使用技巧與相關(guān)注意事項,需要的朋友可以參考下2016-03-03

