国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

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

android - popupWindow.setElevation()怎樣兼容到API21以下呢

瀏覽:127日期:2024-08-20 08:04:25

問題描述

項目里有個地方用到了PopupWindow的setElevation() 但是這個方法只支持API21以上,我看有個PopupWindowCompat,但是里面好像沒有什么有用的方法,請問應該如何兼容API21以下的版本呢

android - popupWindow.setElevation()怎樣兼容到API21以下呢

問題解答

回答1:

正常方法是沒有的, 但是通過Java反射還是能實現(xiàn)的, 只是實現(xiàn)了, elevation的效果也是出不來的. 先看看Android源碼:

public class PopupWindow { ... ... private View mBackgroundView; public void setElevation(float elevation) {mElevation = elevation; } private void preparePopup(WindowManager.LayoutParams p) {... ...// The background owner should be elevated so that it casts a shadow.mBackgroundView.setElevation(mElevation); }}

從上面的代碼, 可以知道只要通過反射獲取到mBackgroundView, 然后調用ViewCompat.setElevation(View, float)就算完成工作了. 但是由于低版本是沒有elevation屬性的, 因此, 上述調用都只是做了兼容處理保證不崩潰而已.

另外一種思路:

高版本通過設置elevation

低版本通過Background Drawable

p.s.為什么不干脆都用Background Drawable

相關文章:
主站蜘蛛池模板: 香港经典毛片a免费观看 | 国内成人免费视频 | 羞羞一区二区三区四区片 | 99久久国产免费 - 99久久国产免费 | 在线亚洲综合 | 国产日产欧美精品一区二区三区 | 看一级特黄a大片国产 | 普通话对白国产情侣自啪 | 丝袜美腿在线不卡视频播放 | 国产亚洲图片 | 亚洲欧美手机在线观看 | 精品日本久久久久久久久久 | 国产99视频在线观看 | 欧美69精品国产成人 | 欧美亚洲日本韩国一级毛片 | 亚洲国产日韩欧美高清片a 亚洲国产日韩欧美在线 | 国产在线一区二区三区 | 国产精品久久久久久一区二区 | 国产三级在线看 | 亚洲精品国产精品精 | 亚洲精品日韩专区在线观看 | 色综合久久88一加勒比 | 欧美成人免费观看久久 | 美国的毛片免费的 | 亚洲 午夜在线一区 | 欧美一区二区在线视频 | 亚洲国产精品91 | 有码视频在线观看 | 久久青草国产手机看片福利盒子 | 欧美亚洲日本国产 | 欧美精品国产一区二区三区 | 欧美成人猛男性色生活 | 久久精品国产精品亚洲艾 | 美女131爽爽爽做爰中文视频 | 网禁呦萝资源网站在线观看 | 亚洲精品国产一区二区图片欧美 | 99久久久国产精品免费播放器 | 久久网免费| 波多野结衣在线免费观看视频 | 美女黄色片免费 | 9l国产精品久久久久麻豆 |