1. 程式人生 > >PopupWindow在安卓7.0及7.1系統上位置顯示異常

PopupWindow在安卓7.0及7.1系統上位置顯示異常

做專案時發現Popupwindow在7.0及以上的裝置上顯示位置異常,6.0上及以下卻沒有問題:
如下圖所示
這裡寫圖片描述這裡寫圖片描述

解決方式:重寫Popupwindow的showasdrop方法:

/**
 * 建立時間: 2017/12/5.
 * 創 建 人:   joey.
 * 功能描述: 處理不相容7.0,7.1顯示問題
 */

public class SFPopupWindow extends PopupWindow {

    public SFPopupWindow(View contentView, int width, int height) {
        super(contentView, width,height);
    }

    @Override
public void showAsDropDown(View anchor) { if(Build.VERSION.SDK_INT >= 24) { Rect rect = new Rect(); anchor.getGlobalVisibleRect(rect); int h = anchor.getResources().getDisplayMetrics().heightPixels - rect.bottom; setHeight(h); } super
.showAsDropDown(anchor); } }

完美解決問題:
這裡寫圖片描述

相關推薦

PopupWindow7.07.1系統位置顯示異常

做專案時發現Popupwindow在7.0及以上的裝置上顯示位置異常,6.0上及以下卻沒有問題: 如下圖所示 解決方式:重寫Popupwindow的showasdrop方法: /** * 建立時間: 2017/12/5. * 創 建 人:

8.07.0有什麼區別 8.0系統新功能盤點[中文網]

Android和iOS的系統霸主之爭已經打了好幾年,在前不久iOS剛剛釋出了第11個版本,而安卓也同樣做好了回擊的準備,準備在近期正式推送Android O系統,也就是我們常說的安卓8.0。雖然國產手機不會直接使用Android的原生系統,但那些國產手機推出的定

8.0以上使用通知

inflate not in amp open pan uniq rar extend activity 然後發送通知: 代碼如下: package shurui.loyal888.com.myapplication; import andro

Android基礎——適配6.0新權限系統

jsb 安全 認同 相對 選項 blank tar 也會 返回 在安卓6.0版本以後,新的權限系統出現了,為了更好的保護用戶的安全,新的權限系統需要開發者在代碼中手動申請,所以為了適配6.0權限系統,我們不得不學習權限系統 安卓6.0新權限系統分類有兩種 普通權限(nor

關於7.0以上的Https請求抓包問題android:networkSecurityConfig

Android 7.0(API 級別 24)及更高版本預設只承認系統CA,所以預設是安全的,不需要配置。如果想要系統承認使用者自己安裝的CA,則修改配置(比如除錯時會需要抓包)。 面向 Android 6.0(API 級別 23)及更低版本應用的預設配置如下所示,這段配置的意思是,承認系

pixel和nexus設備9.0/8.1/7.1.x/6.x WiFi和信號圖標出現叉x號或者感嘆號的消除辦 法

連接 glob spa 8.0 菜單 thread 打開 col 支持 在安卓9.0/8.1/8.0/7.1.2裏如何消除x號(在老一點點版本是感嘆號)呢? 1.首先開啟usb調試,然後用數據線連接電腦和手機。 2.然後解決好您的adb驅動問題,具體教程見:http://w

unity+android:大版本更新安裝下好的apk,相容任意5.0,7.0,8.0版本

Android Studio 1:在專案的res目錄下建立xml目錄,再建立file_paths.xml檔案。 <?xml version="1.0" encoding="utf-8"?> <paths> <root-pa

python+appium-desktop:(android)7.0以上使用appium無法定位元素(無法refresh)且 無法執行指令碼

--解決方法:   啟動appium時配置中新增: "automationName":"uiautomator2" --擴充套件:     想支援安卓7.0及以上版本需要滿足一下3點:     1、使用appium-desktop 1.6.3以及以上版本     2、啟動appium的driver配置新增:"

適配(Android)7.0檔案系統

注: 安卓6.0是許可權管理的變更,要想使用危險許可權,必須程式碼中主動請求相關許可權;到了安卓7.0中,即使你主動請求了讀寫許可權,你不一定能夠讀取你想要的檔案,因為7.0的檔案系統加密了,使用方式和以前不同了,如果app不能即使的相容7.0的新特性,很可能

PopupWindow在Android7.07.1系統顯示位置不正確的問題解決

前言 今天做專案需要用到PopupWindow,但發現其顯示的位置在Android7.0以下系統正常,在7.0和7.1系統顯示不正常,點選“開啟POP”按鈕效果對比如下: 4.1系統 7.0系統 7.1系統 程式碼如下: public class MainActiv

Android 7.0以上使用OpenCL

由於從Android 7.0, API 24, 開始, 系統將阻止應用連結至非公開NDK庫, 所以, 使用libOpenCL.so時與面向低版本的Android平臺有所不同, 需要把依賴的非公開NDK庫打包到APK中 確定依賴的庫 首先應該確定你所使用的libOpenC.so所依賴的庫, 使用命令objd

6.0以上)裝置無法獲取無線網絡卡MAC地址的解決方案

在安卓6.0以下的裝置上,通過WifiManager.getConnectionInfo().getMacAddress()即可獲取WLAN實體地址, 而在6.0及以上,以此方式獲取到的MAC地址為固定值02:00:00:00:00:00,而非真實值 解決方案 WlanMacAddressGetter.

ipad協議最新6.7.4

mage img ext pro f2c ges tex sha process ipad安卓協議最新6.7.4

PictureSelector 7.0以上拍照或拍攝 出現的FileUriExposedException

因為本人專案中用到第三方庫圖片選擇器(PictureSelector),在選擇器中點選拍照或者拍攝遇到點選事件不響應,遇到FileUriExposedException異常,在百度搜索好久都沒有詳細的解決資料,我在這裡將解決辦法告訴大家,希望能幫助到你們! Andr

升級6.0.1後wifi出現的已連線 但無法訪問網際網路的問題

問題描述:wifi右下角出現感嘆號,並且顯示已連線 但無法訪問網際網路 解決方法: 思路:通過新新增使用者去掉感嘆號。 設定-使用者- 新增使用者或個人資料-使用者(使用者擁有個人專屬的應用和內

Android 7.0以上系統訪問相機問題詳解

本章節講述Android 7.0及以上獲取相機問題 1.清單檔案 2.專案配置 3.程式碼 /** * Android 6.0系統及以上申請敏感許可權方法 * */ private void reque

基於5.0水波紋效果製作自定義水波紋顏色

安卓5.0以後很多ui效果的改進都是為提高使用者體驗,其中水波紋效果是5.0以後是在互動方式中做的特殊處理 接下來學習一下水波紋的簡單使用及水波紋顏色的自定義。 首先佈局檔案中給控制元件設定為可點

Android 6.0 7.0以上 動態許可權

android 6.0版本開始,google粑粑處於安全性考慮,敏感的許可權只在manifest註冊已經不可以了(例如攝像頭許可權,定位許可權等等),需要在程式碼中動態註冊。 以下對許可權做一些介紹(轉載): 以下是需要單獨申請的許可權,共分為9組,每組只要有一個許可權申

nexus6 刷 6.0.1 root 裝xposed 並配置手機

1.寫部落格原因: 首先喜歡原生的nexus6,這個手機非常棒,個人認為目前依然非常具有價效比(時間:2016.10.13),非常推薦購買,如果喜歡大屏手機。 在使用過程中,發現國內流氓橫行,導致手機一直很熱,掉電很快,後臺各種混亂,於是想搞

4.0以後主執行緒訪問網路問題(NetworkOnMainThreadException)解決方法子執行緒更新ui

安卓4.0之後谷歌建議不在主執行緒訪問網路,可能是因為訪問網路可能會等待時間長造成假死現象,解決辦法無非是強行訪問和開一個子執行緒訪問 1.強行訪問: 在activity裡面onCreate方法裡面加