Android中利用xml檔案佈局修改Helloworld程式

Android中利用xml檔案佈局修改Helloworld程式
1 Star2 Stars3 Stars4 Stars5 Stars 給文章打分!
Loading...

Android環境佈置完畢,直接就是一個Helloworld程式,詳情請看《利用adt-bundle輕鬆搭建Android開發環境與Hello world(Linux)》這使得很多人難以理清整個Android專案的基本結構。其實安卓專案,與其它Java工程的專案,SSH、Servlet等,都是採取Java與XML檔案聯合的方式,形成一個工程的。

有幾個檔案是需要熟知的。如下圖:

MainActivity.java是整個安卓工程的入口,

其中,裡面的protected void onCreate(Bundle savedInstanceState) {}方法中的setContentView(R.layout.activity_main);方法指明,要載入res檔案下的activity_main.xml的佈局檔案。之所以可以這樣搞。是因為它有一個Eclipse會自動更新的gen資料夾。gen資料夾的R.java檔案,會隨你的xml更新而更新。

因此,之後,我們為了達到如下的效果,修改Helloworld程式成一個在整個螢幕內垂直居中的紅色字串,如下圖所示:

我們就要改動res檔案下的activity_main.xml。如下圖:

這裡原本就有一個TextView的元件,類似於vb,c ,c#的Label元件的標籤文字的東西。很正常嘛,因為原來的Helloworld程式就是有一個Helloworld文字在apk的左上角。

我們將其的程式碼修改成這樣,最終就如上圖所示:


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<TextView
android:gravity="center_vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="@string/hello_world" 
style="@style/text_style"
/>
</RelativeLayout>

其android:layout_width=”fill_parent”,android:layout_height=”fill_parent”兩個屬性意為,這個Label標籤的控制元件的大小是佔據整個螢幕的。

這樣,才能通過android:gravity=”center_vertical”屬性,使其在螢幕內居中,這裡Android4.0開發,layout_gravity好像已經不管用了,直接用gravity屬性。

之後這個元件的文字在string.xml的hello_world標籤中,這裡也可以直接寫出相應的值,不過Eclipse會出現警告,因為,如同struts2倡導的那樣,把所有東西都用標籤表示,便於以後的國際化。在struts2中真的沒必要這樣做了。在安卓中,這樣起碼能夠適應各個螢幕還能說得過去。

因此我們接下去要修改values資料夾下的strings.xml檔案了。找到name=hello_world的這個字串,改成你要改的東西。當然,這裡你也可以改改程式的標題app_name,把Helloworld改成“你好,世界”漢化一下這個程式。

可以在activity_main.xml中看到,這個TextView元件的樣式在strings.xml指定的text_style項,之後我們再改改styles.xml,再裡面加入一個text_style項,如下程式碼,給這個Hellowssssssssssssssssorld!字串加粗變紅,這個strings.xml一如網頁開發中的css檔案。這裡唯一值得注意的是,在安卓中的單位是sp,而不是px,這有利於你的安卓程式執行於各大裝置。


<style name="text_style">
<item name="android:textSize">24sp</item>
<item name="android:textColor">#ff0000</item>
<item name="android:textStyle">bold</item>
</style>

弄好之後如下圖所示:

這樣就得到如下的效果了:

相關文章

Android 開發 最新文章