Android中利用xml文件布局修改Helloworld程序
Android環(huán)境布置完畢,直接就是一個Helloworld程序,詳情請看《利用adt-bundle輕松搭建Android開發(fā)環(huán)境與Hello world(Linux)》這使得很多人難以理清整個Android項(xiàng)目的基本結(jié)構(gòu)。其實(shí)安卓項(xiàng)目,與其它Java工程的項(xiàng)目,SSH、Servlet等,都是采取Java與XML文件聯(lián)合的方式,形成一個工程的。
有幾個文件是需要熟知的。如下圖:
MainActivity.java是整個安卓工程的入口,
其中,里面的protected void onCreate(Bundle savedInstanceState) {}方法中的setContentView(R.layout.activity_main);方法指明,要加載res文件下的activity_main.xml的布局文件。之所以可以這樣搞。是因?yàn)樗幸粋€Eclipse會自動更新的gen文件夾。gen文件夾的R.java文件,會隨你的xml更新而更新。
因此,之后,我們?yōu)榱诉_(dá)到如下的效果,修改Helloworld程序成一個在整個屏幕內(nèi)垂直居中的紅色字符串,如下圖所示:
我們就要改動res文件下的activity_main.xml。如下圖:
這里原本就有一個TextView的組件,類似于vb,c++,c#的Label組件的標(biāo)簽文本的東西。很正常嘛,因?yàn)樵瓉淼腍elloworld程序就是有一個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標(biāo)簽的控件的大小是占據(jù)整個屏幕的。
這樣,才能通過android:gravity="center_vertical"屬性,使其在屏幕內(nèi)居中,這里Android4.0開發(fā),layout_gravity好像已經(jīng)不管用了,直接用gravity屬性。
之后這個組件的文本在string.xml的hello_world標(biāo)簽中,這里也可以直接寫出相應(yīng)的值,不過Eclipse會出現(xiàn)警告,因?yàn)?,如同struts2倡導(dǎo)的那樣,把所有東西都用標(biāo)簽表示,便于以后的國際化。在struts2中真的沒必要這樣做了。在安卓中,這樣起碼能夠適應(yīng)各個屏幕還能說得過去。
因此我們接下去要修改values文件夾下的strings.xml文件了。找到name=hello_world的這個字符串,改成你要改的東西。當(dāng)然,這里你也可以改改程序的標(biāo)題app_name,把Helloworld改成“你好,世界”漢化一下這個程序。
可以在activity_main.xml中看到,這個TextView組件的樣式在strings.xml指定的text_style項(xiàng),之后我們再改改styles.xml,再里面加入一個text_style項(xiàng),如下代碼,給這個Hellowssssssssssssssssorld!字符串加粗變紅,這個strings.xml一如網(wǎng)頁開發(fā)中的css文件。這里唯一值得注意的是,在安卓中的單位是sp,而不是px,這有利于你的安卓程序運(yùn)行于各大設(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)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Libgdx解決部分Android機(jī)型鎖屏崩潰的方法
今天小編就為大家分享一篇關(guān)于Libgdx解決部分Android機(jī)型鎖屏崩潰的方法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2018-10-10Android 使用AlarmManager和NotificationManager來實(shí)現(xiàn)鬧鐘和通知欄
這篇文章主要介紹了Android 使用AlarmManager和NotificationManager來實(shí)現(xiàn)鬧鐘和通知欄,需要的朋友可以參考下2017-02-02Android 完全退出當(dāng)前應(yīng)用程序的四種方法
Android程序有很多Activity,比如說主窗口A,調(diào)用了子窗口B,如果在B中直接finish(), 接下里顯示的是A。在B中如何關(guān)閉整個Android應(yīng)用程序呢?本人總結(jié)了幾種比較簡單的實(shí)現(xiàn)方法2016-02-02Android開發(fā)實(shí)現(xiàn)AlertDialog中View的控件設(shè)置監(jiān)聽功能分析
這篇文章主要介紹了Android開發(fā)實(shí)現(xiàn)AlertDialog中View的控件設(shè)置監(jiān)聽功能,結(jié)合實(shí)例形式分析了Android針對AlertDialog中的控件使用View進(jìn)行監(jiān)聽的相關(guān)操作技巧,需要的朋友可以參考下2017-11-11Android超詳細(xì)講解組件AdapterView的使用
AdapterView組件是一組重要的組件,AdapterView本身是一個抽象基類,它派生的子類在用法上十分相似,從AdapterView派生出的三個子類:AdsListView、AdsSpinner、AdapterViewAnimator,這3個子類依然是抽象的,實(shí)際運(yùn)用時需要它們的子類2022-03-03解決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)
這篇文章主要為大家詳細(xì)介紹了Android利用ActionBar制作微信app頂部menu菜單,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02Android Jetpack組件支持庫DataBinding與ViewModel與LiveData及Room
Jetpack是一個由多個技術(shù)庫組成的套件,可幫助開發(fā)者遵循最佳做法,減少樣板代碼并編寫可在各種Android版本和設(shè)備中一致運(yùn)行的代碼,讓開發(fā)者精力集中編寫重要的代碼2022-09-09