Android中利用xml文件布局修改Helloworld程序
Android環(huán)境布置完畢,直接就是一個Helloworld程序,詳情請看《利用adt-bundle輕松搭建Android開發(fā)環(huán)境與Hello world(Linux)》這使得很多人難以理清整個Android項目的基本結(jié)構(gòu)。其實安卓項目,與其它Java工程的項目,SSH、Servlet等,都是采取Java與XML文件聯(lián)合的方式,形成一個工程的。
有幾個文件是需要熟知的。如下圖:
MainActivity.java是整個安卓工程的入口,
其中,里面的protected void onCreate(Bundle savedInstanceState) {}方法中的setContentView(R.layout.activity_main);方法指明,要加載res文件下的activity_main.xml的布局文件。之所以可以這樣搞。是因為它有一個Eclipse會自動更新的gen文件夾。gen文件夾的R.java文件,會隨你的xml更新而更新。
因此,之后,我們?yōu)榱诉_到如下的效果,修改Helloworld程序成一個在整個屏幕內(nèi)垂直居中的紅色字符串,如下圖所示:
我們就要改動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標簽的控件的大小是占據(jù)整個屏幕的。
這樣,才能通過android:gravity="center_vertical"屬性,使其在屏幕內(nèi)居中,這里Android4.0開發(fā),layout_gravity好像已經(jīng)不管用了,直接用gravity屬性。
之后這個組件的文本在string.xml的hello_world標簽中,這里也可以直接寫出相應(yīng)的值,不過Eclipse會出現(xiàn)警告,因為,如同struts2倡導的那樣,把所有東西都用標簽表示,便于以后的國際化。在struts2中真的沒必要這樣做了。在安卓中,這樣起碼能夠適應(yīng)各個屏幕還能說得過去。
因此我們接下去要修改values文件夾下的strings.xml文件了。找到name=hello_world的這個字符串,改成你要改的東西。當然,這里你也可以改改程序的標題app_name,把Helloworld改成“你好,世界”漢化一下這個程序。
可以在activity_main.xml中看到,這個TextView組件的樣式在strings.xml指定的text_style項,之后我們再改改styles.xml,再里面加入一個text_style項,如下代碼,給這個Hellowssssssssssssssssorld!字符串加粗變紅,這個strings.xml一如網(wǎng)頁開發(fā)中的css文件。這里唯一值得注意的是,在安卓中的單位是sp,而不是px,這有利于你的安卓程序運行于各大設(shè)備。
<style name="text_style"> <item name="android:textSize">24sp</item> <item name="android:textColor">#ff0000</item> <item name="android:textStyle">bold</item> </style>
弄好之后如下圖所示:
這樣就得到如下的效果了:
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android 使用AlarmManager和NotificationManager來實現(xiàn)鬧鐘和通知欄
這篇文章主要介紹了Android 使用AlarmManager和NotificationManager來實現(xiàn)鬧鐘和通知欄,需要的朋友可以參考下2017-02-02Android開發(fā)實現(xiàn)AlertDialog中View的控件設(shè)置監(jiān)聽功能分析
這篇文章主要介紹了Android開發(fā)實現(xiàn)AlertDialog中View的控件設(shè)置監(jiān)聽功能,結(jié)合實例形式分析了Android針對AlertDialog中的控件使用View進行監(jiān)聽的相關(guān)操作技巧,需要的朋友可以參考下2017-11-11解決Could not find com.android.tools.build:gradle:3.0.0
這篇文章主要介紹了在Android Studio升級時碰到Could not find com.android.tools.build:gradle:3.0.0問題的解決方法,需要的朋友跟隨小編一起看看吧2021-08-08Android制作微信app頂部menu菜單(ActionBar)
這篇文章主要為大家詳細介紹了Android利用ActionBar制作微信app頂部menu菜單,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-02-02Android Jetpack組件支持庫DataBinding與ViewModel與LiveData及Room
Jetpack是一個由多個技術(shù)庫組成的套件,可幫助開發(fā)者遵循最佳做法,減少樣板代碼并編寫可在各種Android版本和設(shè)備中一致運行的代碼,讓開發(fā)者精力集中編寫重要的代碼2022-09-09