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