前端之Android入門(2) – 程式目錄及UI簡介

來源:互聯網
上載者:User

標籤:android   style   blog   http   color   io   ar   使用   java   

一,Android程式的目錄結構

開啟我們上次建立的HelloWorld項目,會看到一個目錄結構,這就是Android的程式目錄,這些目錄的大致作用如下:

  • src:源碼的組織管理目錄。
  • gen:自動產生的目錄,會產生一些重要的檔案,如R.java,該目錄一般不需要我們編寫。
  • assets:該目錄檔案不會被編譯成二進位編碼,多用於放音視頻,文本等原始格式檔案。
  • bin:用於存放編譯後的Java檔案及apk檔案。
  • libs:存放Android的源碼包或需要引入的源碼包。
  • res:程式資源的所在目錄,包括圖片,數值等各類資源。
  • AndroidManifest.xml:程式設定檔,它向系統描述了程式的資訊。

這裡先介紹我們常用到的目錄:

1)src目錄

開啟項目的src目錄,會立即明白,原來 com.tencent.helloworld 的”.”號相當於路徑分隔字元,Java就是通過此方式管理存放不同檔案,也就是Java的包機制,現在只需知道此概念即可。

 2)res目錄

該目錄用於存放Android程式的各類資源,非常重要,用於管理資源和Android UI的適配,在後面的例子中將會逐步使用到。其中主要包含下列目錄:

 drawable-xxx

用於存放位元影像(Bitmap files)(.png,.9.png,.jpg,.gif)或者狀態列表(State lists),動畫(Animation drawables),圖形(Shapes)等繪製性資源的xml檔案。相當於網頁中的圖片資源。其中-xxx用於適配不同像素密度的螢幕。這裡先不作展開。

layout

該目錄的xml檔案用於描述一個Android UI介面(Activity)或一個系統案頭組件(AppWidget)的介面結構。相當於網頁的Html結構。

menu

該目錄下的main.xml檔案用於定義Android底部的快顯功能表結構。

values-xxx

用於存放定義各種:字元值,顏色值,數值,樣式等的xml檔案,例如dimens.xml用於定義各尺寸值,strings.xml用於定義文字,colors.xml用於定義各顏色值,其中最為最重要的styles.xml用於定義View元素的視覺樣式(相當與網頁的Css)。-xxx作用也是用於Android的適配,這裡也先不作展開。

AndroidManifest.xml檔案

每個Android應用程式都有一個AndroidManifest.xml檔案在根目錄,該檔案用於向系統提供一些程式運行前需要提供的資訊。該檔案主要包含以下資訊:

  • 命名該應用的Java包名,包名將作為應用的唯一標識。
  • 描述應用的構成,包括Activity,Services等。
  • 聲明應用所必須具備的許可權,用以訪問受保護部分的API。
  • 聲明應用運行時需要的環境配置資訊。
  • 聲明應用所需的系統Android API的最低版本層級。
  • 列舉應用所需要連結的庫。
二,Android的UI簡介

從Html角度出發,一個網頁介面,通常由Div元素完成結構布局,Img,Input,Button等元素完成介面構建。Android的介面構建思想也如此,在Android的UI世界中,所有UI元素均由View類繼承而來,然後衍生出用於布局的元素如:FrameLayout,LinearLayout,RelativeLayout,TableLayout等,用於介面呈現的組件元素如:TextView,EditText,ImageView,VideoView等。只是View元素及其子項目有嚴格的繼承體系,這點和Html不同。展示了Android中的View元素體系:

和Css控制Html的視覺呈現一樣,Android也是通過各屬性控制View元素的視覺呈現,我們先來看看熟悉的Html和Css關係:

聰明的小夥伴一定會問,Css中的屬性只有平級關係,為什麼會區分開呢?沒錯,簡單類比了Android中“Css”的層級關係。在Android中,各屬性是有嚴格區分和有其自身的繼承體系。

所以這裡有一個很重要的概念:在Android中,是由兩類屬性控制View類的視覺呈現。一類是Viwe類自身的屬性,如背景、透明度、內空白等;一類是布局屬性、如長度、寬度,邊距、位置等。展示了它們之間的關係:

在這裡我們需要明白3個概念:

1,View類的自身屬性,是可以繼承的,例如Android中,View類有id、alpha、padding等屬性,而TextView繼承自View,所以TextView除了可以設定自身的屬性textColor外,還可以設定id,alpha等。所以我們可以這樣設定一個TextView的呈現:

2,處在什麼布局元素內,該布局元素內的視圖就可以使用什麼布局屬性。例如TextView若處在LinearLayout內,則可以使用LinearLayout.LayoutParams定義的布局屬性,如:

3,布局屬性也是可以繼承使用的,例如LinearLayout.LayoutParams繼承自ViewGroup.MarginLayoutParams,ViewGroup.MarginLayoutParams則繼承自ViewGroup.LayoutParams,最終可以像如下設定:

所以,通常在一個的介面中,布局屬性的使用就像所示一樣:

結束:在這次的文章中,簡要介紹了一下程式目錄。也對Android UI的概念作了總體介紹,理清UI屬性的關係,對我們後面的編程,特別是用程式碼產生視圖和設定屬性都尤為重要。在下一篇文章中,我們將實際完成一個介面的製作,並借例子深入到Android UI的知識點中。希望這次的文章能給小夥伴們在Android學習之路上帶來協助。

前端之Android入門(2) – 程式目錄及UI簡介

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.