久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

Android如何解決虛擬按鍵欄遮擋問題

瀏覽:27日期:2022-09-20 11:42:08

最近在公司的項目中 , 華為用戶反饋出了一個問題 , 華為手機底部有虛擬按鍵欄把應用的底部內容遮擋住了 , 現在已經把這個問題解決了 , 記錄一下,給各位遇到相同問題的童鞋做一下參考.

這里的解決方案還是相對比較簡單的,首先判斷用戶的手機是否存在虛擬按鍵,若存在,那么就獲取虛擬按鍵的高度,然后再用代碼設置相同高度的TextView,這樣手機的虛擬按鍵就不會將底部的內容遮擋住了。

處理虛擬按鍵欄工具類:

public class ScreenUtils { //獲取虛擬按鍵的高度 public static int getNavigationBarHeight(Context context) { int result = 0; if (hasNavBar(context)) { Resources res = context.getResources(); int resourceId = res.getIdentifier('navigation_bar_height', 'dimen', 'android'); if (resourceId > 0) {result = res.getDimensionPixelSize(resourceId); } } return result; } /** * 檢查是否存在虛擬按鍵欄 * * @param context * @return */ @TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH) public static boolean hasNavBar(Context context) { Resources res = context.getResources();//讀取系統資源函數 int resourceId = res.getIdentifier('config_showNavigationBar', 'bool', 'android');//獲取資源id if (resourceId != 0) { boolean hasNav = res.getBoolean(resourceId); // check override flag String sNavBarOverride = getNavBarOverride(); if ('1'.equals(sNavBarOverride)) {hasNav = false; } else if ('0'.equals(sNavBarOverride)) {hasNav = true; } return hasNav; } else { // fallback return !ViewConfiguration.get(context).hasPermanentMenuKey(); } } /** * 判斷虛擬按鍵欄是否重寫 * @return */ private static String getNavBarOverride() { String sNavBarOverride = null; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { try {Class c = Class.forName('android.os.SystemProperties');Method m = c.getDeclaredMethod('get', String.class);m.setAccessible(true);sNavBarOverride = (String) m.invoke(null, 'qemu.hw.mainkeys'); } catch (Throwable e) { } } return sNavBarOverride; }}

調用工具類方法 , 獲取虛擬按鍵高度:

//處理虛擬按鍵//判斷用戶手機機型是否有虛擬按鍵欄if(ScreenUtils.hasNavBar(getApplicationContext())){ setNavigationBar(); } //處理虛擬按鍵 private void setNavigationBar() { int barHeight = ScreenUtils.getNavigationBarHeight(getApplicationContext()); LinearLayout.LayoutParams barParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.WRAP_CONTENT); TextView tv = new TextView(this); tv.setHeight(barHeight); tv.setWidth(ViewGroup.LayoutParams.MATCH_PARENT); tv.setBackgroundColor(Color.BLACK); llNavigationBar.addView(tv,barParams); }

到這里就結束啦!

以上就是Android如何解決虛擬按鍵欄遮擋問題的詳細內容,更多關于Android 虛擬按鍵欄遮擋的資料請關注好吧啦網其它相關文章!

標簽: Android
相關文章:
主站蜘蛛池模板: 三区在线视频 | 日韩欧美在线播放视频 | 日韩欧美h | 久久porn| 国产精品成人一区二区三区夜夜夜 | 亚洲a视频 | 一本一道久久久a久久久精品91 | 99精品福利视频 | 久久久久久久久一区二区三区 | 色欧美片视频在线观看 | 黄色一级网站视频 | 91精品国产自产精品男人的天堂 | 日韩午夜电影在线观看 | 久久三级视频 | 亚洲艹| 亚洲国产精品一区二区第一页 | 久久精品国产一区二区三区不卡 | 一区二区日本 | 综合久久久久 | 国产日韩精品视频 | 国产欧美综合一区二区三区 | 91福利网址 | 日韩精品免费 | 精品视频成人 | 国产91看片 | 99re视频| 久久九九国产精品 | 国产精品九九久久99视频 | 台湾av在线 | 久久精品六 | 国产欧美日韩一区二区三区 | 日韩欧美一区二区三区免费观看 | 久久久精品免费观看 | 天天看天天爽 | 黄色av网站在线免费观看 | 精品久久久久久久久久久久 | 亚洲精选久久 | 国产三级在线免费观看 | 日本欧美久久久久免费播放网 | 我要看a级毛片 | 中文字幕高清视频 |