安卓布局文件指的是哪個
① android的ui布局有哪些
布局(Layout)的概念是針對Activity的,Activity就是布滿整 個Android設備的窗口或者懸浮於其他窗口上的交互界面。在一個應用程序中通常由多個Activity構成,每個需要顯示的Activity都需要在AndroidManifest.xml文件之中聲明。
通常情況下,開發人員可以使用兩種方式來創建UI組件,一種方式是使用XML方式來配置UI組件的相關屬性,然後裝載這些UI組件,這也是最常用的方式。但是有些特殊情況下,需要動態生成UI組件,則需要使用第二種方式,完全使用java代碼來創建UI組件。
XML布局文件是Android系統中定義的Layout的常用方式,所有布局文件必須包含在res/layout目錄中,且必須符合Java的命名 規范。當在res/layout目錄下新增了布局文件之後,R.java文件會自動收錄該布局資源,Java代碼可通過setContentView方法 在Activity中顯示該Layout。
setContentView(R.layout.<資源名稱>);
在布局文件中可以指定UI組件的android:id屬性,該屬性的屬性值代表該組件的唯一標識。通過Activity.findViewById()訪問,並且findViewById()必須在setContentView載入xml文件之後使用,否則會拋出異常。
findViewById(R.id.)
Android應用的絕大部分UI組件都放在android.widget包及其子包、android.view包及其子包中,Android應用的 所有UI組件都繼承了View類。View類還有一個重要的子類:ViewGroup,ViewGroup類是所有布局管理器的父類。
ViewGroup容器控制其子組件的分布依賴於ViewGroup.LayoutParams、ViewGroup.MarginLayoutParams兩個內部類。
ViewGroup.LayoutParams提供兩個XML屬性設定組件的大小。
android:layout_height:指定該子組件的基本高度;
android:layout_width:指定該子組件的基本寬度。
這兩個屬性有三個基本值,這兩個屬性有三個特定的值:
fill_parent:指定組件的高度、寬度與父容器組件的一樣。
match_parent:與fill_parent一樣,Android2.2開始推薦使用。
warp_content:內容包裹。
ViewGroup.MarginLayoutParams用於控制子組件周圍的頁邊距。
android:layout_marginBottom(下邊距);
android:layout_marginLeft(左邊距);
android:layout_marginRight(右邊距):
layout_marginTop(上邊距)
對於View的尺寸,android提供了三種單位供選擇使用:
px:像素。
dp:dpi,表示屏幕實際的像素。
sp:與scale無關的像素,與dp類似。
尺寸單位選擇的技巧:如果設置長度、高度等屬性時可以使用dp或sp,但是如果設置字體,需要使用px。如果使用dp或sp,系統會根據屏幕密度的變化進行轉換。
為了適應各種界面風格,Android提供了五種布局規范,利用這五種布局,基本上可以在設備上隨心所欲的擺放任何UI組件,這五種布局分別是:
FrameLayout(幀布局)。
LinearLayout(線性布局)
RelativeLayout(相對布局)。
TableLayout(表格布局)。
AbsoluteLayout(絕對布局)。
線性布局(LinearLayout)
LinearLayout是最常用的布局方式,在XML文件中使用標記。它會將容器里的UI組件一個一個挨著排列起來。但是LinearLayout不會換行,當UI組件超出屏幕之後,則不會被顯示出來。LinearLayout有兩個重要的XML屬性:androidgravity(對齊方 式);android:orientation(排列方式)。
android:orientation(排列方式),設定了LinearLayout中包含的UI組件的排列方式,有兩個選項vertical(豎向)、horizontal(橫向,默認值)
android:gravity(對齊方式),設定LinearLayout中包含UI組件的對齊方式,其選項很多,常用上(top)、下(bottom)、左(left)、右(right)。
② Android 兩個Activity共用一個布局文件有什麼影響
沒有影響
activity的setConvertView只是設置當前activity的界面的,不要求是什麼界面。只要你的布局文件沒有錯誤就能正常使用。並且在項目開發過程中,在頁面布局相似度很高的時候,重用界面也能很好地提高代碼復用。findviewbyid的時候,系統會自動在你設置的view中找相應的控制項。
你可以在多個activity中使用一個界面,然後運行。自己動手試試,很容易理解。
③ 怎麼知道Android系統中每個文件的作用
只能掌握重點吧。
1.根目錄:
src目錄---存放源代碼文件
gen目錄---ADT插件生成的文件,一般不作修改
assets目錄---存放資源文件目錄,不會在R.java中生成ID
res目錄---存放資源文件目錄,這裡面的每個文件或值都會在R.java中生成一個ID(變數)
AndroidManifest.xml---整個應用程序配置文件,儲存一些 包名,版本號,程序圖標,程序標簽
default.properties---檢查版本文件,自動生成,不能修改(修改將被刪除)。
2.重點目錄及文件
res/drawable-xxxx是存放圖片的目錄,每個圖片需要准備三種解析度版本.
drawable-hdpi---存放高解析度版本
drawable-ldpi---存放中解析度版本
drawable-mdpi---存放低解析度版
res/layout目錄---放置布局文件(xml文件),每個Activity對應一個XML文件
res/value目錄--放置存儲值的文件(xml)
R.java文件
drawable類---給圖片生產的ID
layout類---給布局文件生成ID的
string類---給string.xml裡面鍵值對生成的ID
main.xml文件
控制Activity中控制項的位置,每個Activity對應一個此布局文件
string.xml
存放鍵值對,一般用在程序的多語言版本切換(多個文件,鍵一樣,值不同)
res目錄下的文件都會自動在R.java中生成資源id,並且除了res/raw文件夾外都會被編譯為二進制文件,res/raw文件夾下的內容會保持原樣。res目錄不能隨意創建子目錄。可以通過getResources的相關方法結合其他類進行訪問。
assets目錄支持任意深度的子目錄,其下的文件不會被編譯為二進制(保持原樣),並且不會生成資源id,必須使用/assets開始的相對路徑按照文件的方式進行訪問。可以使用AssetManager 結合其他類進行訪問。
結合R.java的相關內部類和欄位,res/drawable-xxxx目錄可以根據系統解析度自動使用不同的圖片資源。例如高解析度的放在res/drawable-hdpi目錄,低解析度放在res/drawbale-ldpi目錄中,在各個dpi的子目錄中放置好不同解析度的圖片,在使用R.drawable.resourceid的方式訪問時,系統會根據設備屏幕的解析度自動選擇合適的圖像進行展示。
④ 安卓手機根目錄下的各個文件夾有什麼作用
作用:
1.res:資源文件。
2.drawable:布局文件。
3.layout:布局文件。
4.anim:動畫效果文件。
5.values:取值、字元串等。
6.src:代碼,至於src內部的目錄名稱,取決於具體項目結構。
7.libs:庫文件。