av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

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

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

問題描述

項目里有個地方用到了PopupWindow的setElevation() 但是這個方法只支持API21以上,我看有個PopupWindowCompat,但是里面好像沒有什么有用的方法,請問應(yīng)該如何兼容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)用都只是做了兼容處理保證不崩潰而已.

另外一種思路:

高版本通過設(shè)置elevation

低版本通過Background Drawable

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

相關(guān)文章:
主站蜘蛛池模板: 一区二区av | 黄色片一级片 | 黄色三级在线观看 | 亚洲男人天堂网 | 日韩精品在线一区二区 | 中文字幕三区 | 成人福利视频在线观看 | 男人添女荫道口图片 | a级片在线观看 | 久久久一区二区三区 | 91桃色网站| av手机在线免费观看 | 日本午夜网站 | 亚洲视频在线看 | 深夜福利视频网站 | 日韩免费一区 | 黄色网在线 | 日韩少妇视频 | 色婷婷香蕉在线一区二区 | 亚洲爱爱网| 视频一区中文字幕 | 国产精品一 | 私库av在线 | 国产视频一| 欧美日韩四区 | 日本少妇做爰全过程毛片 | 91久久国产综合久久91精品网站 | 国产又色又爽又黄又免费 | 黄色在线小视频 | 国产视频网 | 成年人黄色 | 91性高潮久久久久久久久 | 最新国产精品视频 | 日韩视频免费在线观看 | 国产资源在线观看 | 日韩大片在线观看 | 丁香在线视频 | 午夜天堂网 | 日韩午夜激情 | 久久精品一区二区三区四区 | 国产欧美日韩在线视频 |