92国产精品视频_亚洲a级在线观看_国产精品电影观看_国产精品免费观看在线_精品伊人久久97_亚洲人成在线观_尤物九九久久国产精品的特点_成人激情在线播放_成人黄色大片在线免费观看_亚洲成人精品久久久_久久免费视频在线观看_久久精品国产一区_国产一区二区三区18_亚洲欧美中文字幕在线一区_日韩美女中文字幕_日韩视频免费在线

Android5.0以后,materialDesign風格的加陰影和裁剪效果

2018-10-17    seo達人

如果您想訂閱本博客內容,每天自動發到您的郵箱中, 請點這里

5.0以后,materialDesign風格,出現了立體這種概念,高光,陰影,也就是Z軸,凸顯層次;同時,裁剪view也變得方便簡單了很多。
1,先說說陰影的實現。
方案1:在xml中設置 
xml中設置有兩個方式,android:elevation="2dp" 
android:translationZ="2dp"這兩句代碼是可以同時并存的,而且是疊加的效果;當然只使用其中一個屬性進行z軸的陰影設置也是OK的。

方案2:在代碼中設置 
(下面說這個實現方式,其實就是輪廓的實現)

設置陰影,有一個需要注意的地方:
①:view的大小要比它的父布局小,才會有陰影效果,如果相同大小,是看不到陰影效果的; 
②:給圖片設置陰影的時候,如果這種圖片的background屬性是shape,那直接通過xml設置陰影是OK的,但是,如果是一張png或者其他格式的圖片,直接通過xml設置android:elevation="2dp" 
android:translationZ="2dp"陰影是看不到效果的,得通過其他代碼設置才行。。。**

2,view的輪廓,輪廓其實也是陰影
默認情況下,所有的view都是矩形的,雖然可以給view設置背景圓形的圖片,即可以在界面顯示出圓形的內容,但是view的大小實際上依然是矩形,并且設置的圖片實際上也是矩形的,只是圓形以外的區域是透明色。 
如果根據view大小來生成對應的陰影,就會出現很奇怪的效果,(一個看起來圓形的view展示出的確實一個矩形的陰影)我了解決這個問題,view增加了一個新的描述來指明內容顯示的形狀,這就是 輪廓

輪廓的實現
①通過shape設置的背景,view會自動根據shape的形狀進行輪廓判定,
②通過color設置的背景,view默認其輪廓和view的大小一樣。
③但是通過圖片進行背景設置,view則無法獲知輪廓的形狀,這個時候就需要手動進行指定了。
1
2
3
一:在xml中可以通過android:outlineProvider來指定輪廓的判定方式: 
1,none即使設置了Z屬性,也不會顯示陰影 
2,background會按照背景來設置陰影形狀 
3,bounds會按照view的大小來描繪陰影

**對于①和②這種情況,也是可以通過設置`android:outlineProvider`
來改變陰影的形狀以及輪廓外觀的。**

對于③這種背景是一張png或者其他格式的圖片的情況,
`android:outlineProvider=“background”`
是沒有效果的,屬性設置成`android:outlineProvider=bounds`
雖然也是有效果的,但是陰影輪廓是一個方形的輪廓,
并不是我們想要的效果了。

不設置`android:outlineProvider`屬性就更沒有效果了。
1
2
3
4
5
6
7
8
9
10
對于這種使用了png圖片作為背景的view加陰影輪廓的時候情況解決辦法也非常簡單,解決辦法就是:
就通過Java代碼設置,也就是說,一個圓形的png圖(我們知道,看起來是圓形的,
但是它其實還是方形的圖片,只是圓形之外的區域是透明不可見的),
 通過Java代碼設置輪廓,就會顯示出圓形的陰影輪廓了。
1
2
3
具體實現,繼續看: 
二:在代碼中,課通過setOutlineProvider來指定一個view的輪廓。 
對于③這種情況在代碼中設置輪廓才會有效果。

TextView textView= findViewById(R.id.tv);
ViewOutlineProvider viewOutlineProvider=new ViewOutlineProvider() {
            @Override
            public void getOutline(View view, Outline outline) {
         //x,y軸表示位置,后兩個參數表示長,寬 
               outline.setOval(0,0,textView.getWidth(),textView.getHeight());
            }
        };
textView.setOutlineProvider(viewOutlineProvider);
1
2
3
4
5
6
7
8
9
強調:
如果采用圓形圖片作為背景,即使在xml布局中指定android:outlineProvider=“background”,也不會顯示陰影,設置為android:outlineProvider=bounds,雖然也有效果,但是效果很差,所以一般都是通過代碼來指定輪廓顯示。

1,一個shape圓形作為背景,設置陰影,設置android:outlineProvider的4種屬性的效果:


2,一個圓形png作為背景,設置陰影,設置android:outlineProvider的4種屬性的效果:


3,一個png作為背景,設置陰影,通過代碼設置的效果:


3,view的裁剪
裁剪,默認的ImageView是矩形的,很多時候,需要的是圓角的ImageView或者圓形的ImageView,這就需要裁剪view了。

實現,裁剪圓形:

final TextView textView= findViewById(R.id.tv);

ViewOutlineProvider viewOutlineProvider=new ViewOutlineProvider() {
            @Override
            public void getOutline(View view, Outline outline) {
                //設置圓形oval
                outline.setOval(0,0,textView.getWidth(),textView.getHeight());
            }
        };
//設置裁剪
textView.setClipToOutline(true);
1
2
3
4
5
6
7
8
9
10
11
實現,裁剪圓角矩形:

final TextView textView= findViewById(R.id.tv);

ViewOutlineProvider viewOutlineProvider=new ViewOutlineProvider() {
            @Override
            public void getOutline(View view, Outline outline) {
                //設置圓角矩形
               outline.setRoundRect(0,0,view.getWidth(),view.getHeight(),25);
            }
        };
textView.setOutlineProvider(viewOutlineProvider);
//設置裁剪
藍藍設計www.skdbbs.com )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 、平面設計服務。

日歷

鏈接

個人資料

藍藍設計的小編 http://www.skdbbs.com

存檔

92国产精品视频_亚洲a级在线观看_国产精品电影观看_国产精品免费观看在线_精品伊人久久97_亚洲人成在线观_尤物九九久久国产精品的特点_成人激情在线播放_成人黄色大片在线免费观看_亚洲成人精品久久久_久久免费视频在线观看_久久精品国产一区_国产一区二区三区18_亚洲欧美中文字幕在线一区_日韩美女中文字幕_日韩视频免费在线
久久亚洲精品国产亚洲老地址| 久久综合伊人77777尤物| 红桃av永久久久| 日韩精品欧美激情| 国产精品香蕉在线观看| 97精品一区二区视频在线观看| 国产精品va在线播放我和闺蜜| 亚洲国产精品电影在线观看| 国产亚洲激情视频在线| 亚洲美女性生活视频| 亚洲高清一二三区| www高清在线视频日韩欧美| 欧美大胆在线视频| 97视频在线观看视频免费视频| 亚洲热线99精品视频| 国产精品成人观看视频国产奇米| 91视频8mav| 92裸体在线视频网站| 亚洲护士老师的毛茸茸最新章节| 欧美日韩亚洲一区二| 26uuu另类亚洲欧美日本老年| 黑人巨大精品欧美一区二区一视频| 91免费国产视频| 欧美巨大黑人极品精男| 亚洲成人在线网| 在线视频免费一区二区| 亚洲欧美激情一区| 日韩成人免费视频| 精品无码久久久久久国产| 91久久嫩草影院一区二区| 欧美成人一二三| 国产欧美va欧美va香蕉在| 国产精品青青在线观看爽香蕉| 自拍视频国产精品| 俺去亚洲欧洲欧美日韩| 91精品视频免费观看| 国产精品色悠悠| 国产精品高潮粉嫩av| 91成人天堂久久成人| 久久综合九色九九| 日韩中文在线中文网在线观看| 欧美激情区在线播放| 亚洲精品98久久久久久中文字幕| 精品国内产的精品视频在线观看| 中文字幕综合在线| 91久久综合亚洲鲁鲁五月天| 久久777国产线看观看精品| 高清欧美性猛交xxxx黑人猛交| 久久久免费观看视频| 久久免费精品日本久久中文字幕| 欧美极品少妇xxxxⅹ免费视频| 久久久亚洲网站| 九九热精品在线| 美女撒尿一区二区三区| 日韩亚洲第一页| 91精品视频在线看| 91国内产香蕉| 久久精品国产成人精品| 成人免费在线网址| 日韩中文字幕精品| 国产精品美乳一区二区免费| 欧美精品在线网站| 伊人精品在线观看| 色久欧美在线视频观看| 日韩午夜在线视频| 亚洲一区制服诱惑| 国产偷亚洲偷欧美偷精品| 国产精品露脸av在线| 欧美中文字幕在线播放| 欧美大片免费观看在线观看网站推荐| 欧美成人国产va精品日本一级| 精品久久在线播放| 日韩精品亚洲元码| 国产日韩在线播放| 黄网动漫久久久| 亚洲国产精品系列| 中文字幕视频在线免费欧美日韩综合在线看| 久久久天堂国产精品女人| 伊人精品在线观看| 欧美黑人巨大精品一区二区| 国产精品 欧美在线| 欧美中在线观看| 欧美日韩在线一区| 亚洲精品www久久久| 国产精品老女人视频| 91亚洲精华国产精华| 亚洲国产精品专区久久| 在线视频欧美日韩精品| 亚洲一区二区黄| 日韩精品一区二区视频| 2019av中文字幕| 亚洲xxxx3d| 亚洲成色www8888| 亚洲国产古装精品网站| 日本不卡视频在线播放| 精品中文字幕在线2019| 欧美成人一区在线| 久久久久久久999| 91精品久久久久久久久久| 欧美激情中文字幕在线| 国产欧美久久一区二区| 国产精品入口免费视| 中文字幕无线精品亚洲乱码一区| 久久综合久久88| 精品久久久久久中文字幕一区奶水| 国产一区二区三区在线观看视频| 尤物精品国产第一福利三区| 九九热精品视频国产| 日韩国产欧美精品在线| 538国产精品一区二区在线| 欧美成人网在线| 久久99国产综合精品女同| 欧美裸体xxxx极品少妇| 亚洲第一精品久久忘忧草社区| 日本欧美在线视频| 日韩激情视频在线| 日韩福利伦理影院免费| 日本欧美国产在线| 2020欧美日韩在线视频| 97国产精品视频| 51视频国产精品一区二区| 国产suv精品一区二区三区88区| 久久婷婷国产麻豆91天堂| 亚洲国产99精品国自产| 国产精品久久久久高潮| 欧美专区第一页| 国产日韩精品在线播放| 亚洲老头老太hd| 91久久久久久久久久久久久| 中文字幕一区二区精品| 欧美中文字幕在线观看| 国产精品稀缺呦系列在线| 91久久国产精品91久久性色| 亚洲网在线观看| 日韩不卡在线观看| 欧美精品精品精品精品免费| 欧美激情国产精品| 亚洲欧美中文日韩在线v日本| 国产一区二区美女视频| 亚洲影影院av| 欧美性猛交xxxx富婆| 一道本无吗dⅴd在线播放一区| 欧美性猛交99久久久久99按摩| 精品香蕉一区二区三区| 一区二区三区黄色| 日韩免费在线播放| 欧美激情成人在线视频| 成人羞羞国产免费| 亚洲国产精品va在线观看黑人| 成人在线视频网站| 欧美激情久久久久久| 欧美高跟鞋交xxxxxhd| 亚洲一区二区三区四区在线播放| 欧美激情啊啊啊| 国产精品麻豆va在线播放| 日韩在线免费高清视频| 欧美电影电视剧在线观看| 久久久国产精品一区| 国产一区二区三区精品久久久| 久久久免费精品| 亚洲aa中文字幕| 欧美电影免费播放| 久久久久久国产精品美女| 中文字幕一区二区精品|