亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

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

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

瀏覽:89日期: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, 然后調(diào)用ViewCompat.setElevation(View, float)就算完成工作了. 但是由于低版本是沒有elevation屬性的, 因此, 上述調(diào)用都只是做了兼容處理保證不崩潰而已.

另外一種思路:

高版本通過設置elevation

低版本通過Background Drawable

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

相關文章:
主站蜘蛛池模板: 国产91免费视频 | 亚洲黄色大片 | 人人澡人人澡碰人人看软件 | 欧美洲精品亚洲精品中文字幕 | 毛片免费网站 | 大陆黄色网 | 国产免费久久精品久久久 | 久久亚洲综合中文字幕 | 午夜影院一区二区三区 | 91手机在线观看 | 亚洲国产剧情在线精品视 | 尤物免费网站 | 1024亚洲视频| 欧美一级性生活视频 | 亚洲精品一区二三区在线观看 | 成人国产在线24小时播放视频 | 国产亚洲情侣久久精品 | 精品不卡一区中文字幕 | 国内精品免费视频自在线 | 2022久久免费精品国产72精品 | 成年人小视频在线观看 | 麻豆果冻国产91在线极品 | 91麻豆久久久 | 成人做爰毛片免费视频 | 国产伦精品一区二区三区在线观看 | 欧美精品一区二区在线观看 | chinese调教在线播放 | 欧美一区二区三区在线观看不卡 | 在线xxxx| 高清黄色直接看 | 一区二区三区在线免费视频 | 亚洲国语在线视频手机在线 | 香蕉免费网站 | 高清日韩在线 | 久久成人免费 | 国产逼逼视频 | 一级做a爰片久久毛片免费看 | 特级淫片国产免费高清视频 | 欧美日韩在线观看一区 | 久久久青草青青国产亚洲免观 | 久久日韩精品中文字幕网 |