應(yīng)用界面元素間的投影最能讓用戶清晰地感知用戶界面的深度,那么南昌APP開發(fā)中投影是如何實現(xiàn)的呢?有些人第一反應(yīng)會覺得這是設(shè)計人員的事,開發(fā)人員直接調(diào)用就行了。他們這樣想或許有他們的道理,但無論如何,有了分歧就要具體問題具體分析。稍加分析之后就會發(fā)現(xiàn),哪怕是簡單的應(yīng)用,也涉及大量的surface動畫特效,處理這樣千變?nèi)f化的投影簡直是巨大的工作量。而且交給設(shè)計人員去繪制肯定也不現(xiàn)實。實際上,只要給每個視圖設(shè)置elevation,Android就可以幫我們實現(xiàn)陰影繪制。
隨著Lollipop系統(tǒng)的發(fā)布,Android為布局系統(tǒng)引入了Z軸概念。這允許我們在三維空間里布置視圖。如下圖所示,elevation類似賦予布局視圖的坐標:視圖可以動態(tài)遠離其原始坐標,但其原始位置是不變的。
可以使用View.setElevation(float)方法或在布局XML文件中設(shè)置elevation值,如下代碼所示。
在布局文件中設(shè)置elevation值
因為elevation值要作為Z基準值使用,所以我們最好采用設(shè)置XML屬性值的方式。而且,相比setElevation(float)方法,這種方式使用靈活,Lollipop以前版本的系統(tǒng)會默認忽略 android:elevation屬性,因此,比較難以對付的兼容性問題也就不用考慮了。
要修改View視圖的elevation,我們可以使用translationZ和Z屬性。如下圖所示,Z值總是等于elevation 加上 translationZ。如果給Z一個值,那么系統(tǒng)會自動計算得出translationZ值。
看完以上介紹,我想大家對Android 開發(fā)中實現(xiàn)陰影繪制的方法有所了解了,如有還有不知道的朋友,可隨時來電和我們聯(lián)系,百恒網(wǎng)絡(luò)是一家專業(yè)從事南昌APP開發(fā)、網(wǎng)站建設(shè)等服務(wù)的企業(yè),對于APP開發(fā)技術(shù)非常嫻熟,只要您有需要,我們一定竭誠為您服務(wù)!