移動開發指南:Android Transition架構介紹(1)

來源:互聯網
上載者:User

移動開發指南:Android Transition架構介紹(1)

BKJIA譯文】Android Transition架構允許我們對應用程式使用者介面當中的各類外觀變化加以配置。大家可以在應用程式螢幕內實現動畫式過渡、將每個階段定義為一種情境並控制應用程式如何從一種顯示情境過渡到另一種。

在今天的文章中,我們將構建一款簡單的應用程式、並為其製作一套動畫過渡效果。為了完成這項任務,大家需要涉及的內容包括在XML當中準備布局與可繪製檔案、而後利用Java配置並應用這套過渡機制。我們將定義兩種情境,其中同樣的一組視圖項目將以不同方式排列在裝置螢幕之上。在大家使用Transition架構時,Android將自動完成兩種情境轉換過程中的動畫過渡效果。

1. 建立應用程式

第一步

作為教程的第一步,我們首先在自己選定的IDE中建立一款新的應用程式。大家至少需要使用SDK 19才能讓這些Transition類順利起效,因此如果打算讓其支援其它早期版本、我們還需要執行其它一些額外步驟。

首先為應用程式指定一個主Activity與布局檔案,並為該布局選擇start_layout.xml作為名稱。我們隨後還會添加其它布局檔案,並利用Transition機制在不同顯示布局之間進行轉換。下面幾幅顯示了這一過程在Android Studio中的具體實現流程。

第二步

下面我們在Transition中準備一些可繪製圖形以資利用。我們將準備四個圓形圖案,每一個都採用不同的漸層顏色進行填充。在這款應用程式範例的可繪製資源目錄內,首先建立一個名為shape1.xml的新檔案。通過以下代碼添加圖形:

 
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <shape xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:dither="true"  
  4.     android:shape="oval" >  
  5.    
  6.     <gradient  
  7.         android:endColor="#66ff0000"  
  8.         android:gradientRadius="150"  
  9.         android:startColor="#ffffcc00"  
  10.         android:type="radial"  
  11.         android:useLevel="false" />  
  12.    
  13.     <size  
  14.         android:height="100dp"  
  15.         android:width="100dp" />  
  16.    
  17. </shape>  

以上代碼構建出的是一個由漸層色填充而成的圓形圖案。而四個圖形在大小與樣式方面完全相同,僅僅在色彩上有所區別。當然,大家可能需要為不同像素密度的裝置分別準備多種不同版本的圖形。利用以下代碼建立shape2.xml:

 
  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <shape xmlns:android="http://schemas.android.com/apk/res/android" 
  3.     android:dither="true" 
  4.     android:shape="oval" > 
  5.   
  6.     <gradient 
  7.         android:endColor="#66ffcc00" 
  8.         android:gradientRadius="150" 
  9.         android:startColor="#ff00ff00" 
  10.         android:type="radial" 
  11.         android:useLevel="false" /> 
  12.   
  13.     <size 
  14.         android:height="100dp" 
  15.         android:width="100dp" /> 
  16.   
  17. </shape> 

現在添加shape3.xml:

 
  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <shape xmlns:android="http://schemas.android.com/apk/res/android" 
  3.     android:dither="true" 
  4.     android:shape="oval" > 
  5.   
  6.     <gradient 
  7.         android:endColor="#6600ff00" 
  8.         android:gradientRadius="150" 
  9.         android:startColor="#ff0000ff" 
  10.         android:type="radial" 
  11.         android:useLevel="false" /> 
  12.   
  13.     <size 
  14.         android:height="100dp" 
  15.         android:width="100dp" /> 
  16.   
  17. </shape> 

最後添加shape4.xml:

 
  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <shape xmlns:android="http://schemas.android.com/apk/res/android" 
  3.     android:dither="true" 
  4.     android:shape="oval" > 
  5.   
  6.     <gradient 
  7.         android:endColor="#660000ff" 
  8.         android:gradientRadius="150" 
  9.         android:startColor="#ffff0000" 
  10.         android:type="radial" 
  11.         android:useLevel="false" /> 
  12.   
  13.     <size 
  14.         android:height="100dp" 
  15.         android:width="100dp" /> 
  16.   
  17. </shape> 

我們將把這些圖形作為ImageButtons應用在兩種布局情境之內。


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.