Android學習筆記之檔案分類和線性佈局

Jameshore發表於2024-07-25

三、主要檔案種類

1.Activity

一個介面的顯示往往由Acitivity,佈局檔案,清單檔案共同完成。

Activity是用於控制視覺化的介面,其使用需要使用AppCompatActivity作為基類。該類中常用的方法包括但不限於:onCreate(), initView(), onDestroy(), onResume();這幾個方法會隨著該類的狀態改變而被呼叫。

setContentView()用於裝載佈局檔案,即確定該Acitivity所控制的介面。

若要實現自定義的介面,則需要對該基類中的一些方法進行重寫。

2.佈局檔案

xml檔案,用於設計和美化介面顯示。

xml檔案的設計主要有設計模式和程式碼模式兩種,在設計模式中可以對控制元件進行拖拽,並在對應的屬性框中選擇或輸入相應的屬性值。在程式碼模式中則使用程式碼的方式對佈局檔案進行設計,建議在設計的過程中開啟預覽,隨時觀察程式碼對佈局檔案的影響。

佈局檔案的設計可以自行選擇自己熟悉和順手的方式進行設計__。

3.清單檔案

AndroidManifest檔案

該檔案將指定程式的packagename,用於系統辨識app的唯一標識。

該檔案中將指定程式中的activity的型別,並在意圖過濾器中設定app的主應用程式,以及app的圖示等屬性。

例:

<activity
    android:name="cn.com.TestActivity.ui.WelcomeActivity"
    android:exported="true"
    android:theme="@style/SimpleTaskAppTheme">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

Tips:

1.如果在原應用的基礎上對應用進行更新,清單檔案中的部分修改可能不會隨之更新,需要將原應用解除安裝後重新安裝方能生效!!!!!

四、UI佈局

佈局是指對介面結構的全面規劃和安排,透過api中提供的各種佈局能夠快速的完成對介面的設計。

新增布局的方式有兩種:使用xml檔案宣告,使用java檔案設計view(強烈不建議)。將流程邏輯與介面設計分開進行管理是更加清晰的方式。

1.線性佈局LinearLayout

在res資料夾下的layout資料夾內新建layout檔案,檔案根元素型別選擇LinearLayout,完成檔案的新建。

線性佈局中常用的佈局指令:

android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="100dp"
android:layout_gravity="right"
android:layout_weight="0.5"

用layout_magin指令控制控制元件與其他控制元件之間的距離

用padding控制邊框與自己父控制元件之間的邊距

<!--layout_weight表示該模組中所佔的剩餘空間的比重,其中剩餘空間是指在分配完各模組所佔用的空間大小後,父模組剩餘的空白區域的尺寸-->

2.相對佈局RelativeLayout

檔案的建立方式與線性佈局類似

部分常用的佈局指令:(部分指令中使用的Left和Right應替換成Start和End,舊版本中的)

主要分成兩個大類,相對於父控制元件的指令和相對於其他控制元件的指令

相對於父控制元件:

android:layout_alignParentTop="true"

android:layout_aligncenterInParent="true"

android:layout_alignParentLeft

android:layout_alignParentRight

android:layout_alignParentTop

android:layout_alignParentBottom

相對於其他控制元件:

(在參照物的某邊)

android:layout_toStartOf=

android:layout_toEndOf=

android:layout_above=

android:layout_below=

(與參照物的某邊線對齊)

android:layout_alignTop=

android:layout_alignBottom=

android:layout_alignStart=

android:layout_alignEnd=

相關文章