前面我們通過《使用Android Studio創(chuàng)建Android項目詳細(xì)步驟及注意事項》介紹了創(chuàng)APP基本流程和步驟,顯而易見通過Android Studio創(chuàng)建項目是比較輕松的,接下來由南昌APP開發(fā)公司工程師接著介紹如何規(guī)劃和設(shè)計界面布局。
一、用戶界面設(shè)計
? ? ? ?當(dāng)前,activity_quiz.xml文件定義了默認(rèn)的activity布局。應(yīng)用默認(rèn)的XML布局文件內(nèi)容經(jīng)常 改變,但總是與代碼如下所示文件相似。
? ? ? ?代碼清單1-1 默認(rèn)的activity布局(activity_quiz.xml)
? ? ? ? ? ? ? ?xmlns:tools="http://schemas.android.com/tools"
? ? ? ?android:layout_width="match_parent"
? ? ? ?android:layout_height="match_parent"
? ? ? ?android:paddingLeft="@dimen/activity_horizontal_margin"
? ? ? ?android:paddingRight="@dimen/activity_horizontal_margin"
? ? ? ?android:paddingTop="@dimen/activity_vertical_margin"
? ? ? ?android:paddingBottom="@dimen/activity_vertical_margin"
? ? ? ?tools:context=".QuizActivity">
? ? ? ? android:text="@string/hello_world"
? ? ? ?android:layout_width="wrap_content"
? ? ? ?android:layout_height="wrap_content" />
? ? ? ?應(yīng)用activity的默認(rèn)布局定義了兩個組件(widget):RelativeLayout和TextView。
? ? ? ?組件是用戶界面的構(gòu)造模塊。組件可以顯示文字或圖像,與用戶交互,甚至布置屏幕上的其 他組件。按鈕、文本輸入控件和選擇框等都是組件。
? ? ? ?Android SDK內(nèi)置了多種組件,通過配置各種組件可獲得所需的用戶界面及行為。每一個組 件都是View類或其子類(如TextView或Button)的一個具體實例。 圖1-
? ? ? ?9展示了代碼清單1-1中定義的RelativeLayout和TextView是如何在屏幕上顯示的。
? ? ? ?不過,圖1-9所示的默認(rèn)組件并不是我們需要的,QuizActivity的用戶界面需要下列五個組件:
? ? ? ?一個垂直LinearLayout組件;
? ? ? ?一個TextView組件;
? ? ? ?一個水平LinearLayout組件;
? ? ? ?兩個Button組件。 圖1-10展示了以上組件是如何構(gòu)成QuizActivity用戶界面的。
? ? ? ?圖1-9 顯示在屏幕上的默認(rèn)組件
? ? ? ?圖1-10 布置并顯示在屏幕上的組件
? ? ? ?下面我們在activity_quiz.xml文件中定義這些組件。
? ? ? ?如代碼清單1-2所示,修改activity_quiz.xml文件。注意,需刪除的XML已打上刪除線,需添 加的XML以粗體顯示。我們統(tǒng)一使用這樣的版式約定。 代碼清單1-2 在XML文件(activity_quiz.xml)中定義組件
?
? ? ? ?xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
? ? ? ?android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
? ? ? ?android:paddingRight="@dimen/activity_horizontal_margin"
? ? ? ?android:paddingTop="@dimen/activity_vertical_margin"
? ? ? ?android:paddingBottom="@dimen/activity_vertical_margin"
? ? ? ?tools:context=".QuizActivity">
? ? ? ?android:text="@string/hello_world"
? ? ? ?android:layout_width="wrap_content"
? ? ? ?android:layout_height="wrap_content" />
? ? ? ?android:layout_width="match_parent"
? ? ? ?android:layout_height="match_parent"
? ? ? ?android:gravity="center"
? ? ? ?android:orientation="vertical" >
? ? ? ?android:layout_width="wrap_content"
? ? ? ?android:layout_height="wrap_content"
? ? ? ?android:padding="24dp"
? ? ? ?android:text="@string/question_text" />
? ? ? ?android:layout_width="wrap_content"
? ? ? ? android:layout_height="wrap_content"
? ? ? ?android:orientation="horizontal" >