午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

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

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

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

問題描述

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

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

問題解答

回答1:

正常方法是沒有的, 但是通過Java反射還是能實現的, 只是實現了, 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

相關文章:
主站蜘蛛池模板: 欧美黄色录像 | 免费av免费看 | 黄色片网站在线播放 | 91成人久久 | 全部孕妇毛片丰满孕妇孕交 | 男女午夜剧场 | 香蕉视频最新网址 | 亚洲欧美日韩精品在线 | 国产免费美女视频 | 在线日韩国产网站 | 日韩激情在线播放 | 亚洲千人斩| 国产小精品 | 亚洲综合五月天 | 国产精品日韩欧美大师 | 国产亚洲精品精品精品 | 青青99| 在线中文视频 | 久久久久久久久成人 | 在线中文字幕视频 | 成人综合av | 一级免费黄色录像 | 一级在线观看 | 日韩最新网址 | 四虎成人永久免费视频 | 免费日韩网站 | 99在线看| 黄色在线小视频 | 久久视频在线播放 | 99鲁鲁精品一区二区三区 | 国产在线专区 | 超碰在线网 | 男人视频网 | 香蕉网av| 加勒比婷婷色综合久久 | 成人毛片100免费观看 | 亚洲天天| www久久久久久 | 精品手机在线视频 | 亚洲欧美日韩综合在线 | 午夜影院久久 |