編輯:開發入門
范例說明
在本章人機界面一開始,則延續Hello World的氣勢,與TextView文字標簽進行第一次接觸.在次范例中,將會在Layout中創建TextVIEw對象,並學會定義res/values/strings.XML裡的字符串常數,最後通過TextView的setText方法,在預加載程序之初,更改TextVIEw文字.
范例程序
res/layout/main.XML
以android:id命名TextView的ID為myTextVIEw01;而先前的版本寫法與1.0有所不同,請特別留意.
<?XML version="1.0" encoding="utf-8"?>
<AbsoluteLayout
android:id="@+id/widget35"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
XMLns:android="http://schemas.android.com/apk/res/android"
>
<TextVIEw
android:id="@+id/myTextVIEw01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/str_1"
android:layout_x="61px"
android:layout_y="69px"
>
</TextVIEw>
</AbsoluteLayout>
res/values/strings.XML
<?XML version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, Demo03_01!</string>
<string name="app_name">Demo03_01</string>
<string name="str_1">我是存放在strings.XML裡的"字符串1"</string>
</resources>
src/org.demo03_01/Demo03_01.Java
主程序示范以setText方法,輸出String類型的字符串變量.
package org.demo03_01;
import android.app.Activity;
import android.os.Bundle;
//必須引用widget.TextView才能在程序中聲明TextVIEw對象
import android.widget.TextVIEw;
public class Demo03_01 extends Activity {
//必須引用widget.TextView才能在程序中聲明TextVIEw對象
private TextView mTextVIEw01;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//加載main.XML Layout,此時myTextVIEw01:text為str_1
setContentVIEw(R.layout.main);
mTextView01 = (TextView) findViewById(R.id.myTextVIEw01);
String str_2 = "歡迎來到android的TextVIEw世界...";
mTextVIEw01.setText(str_2);
}
}
擴展學習
TextVIEw 裡的 setText方法支持以下多態構造方法:
public final void setText(CharSequence text)
public final void setText(int resid)
public void setText(CharSequence text,TextVIEw.BufferType type)
public final void setText(int resid,TextVIEw.BuffType type)
public final void setText(char[] text,int start,int len)
此外,以最後setText(char[] text,int start,int len)為例子,第一個參數為char數組作為輸出依據,第二個參數為從哪一個元素索引開始選取,第三個參數則為要取出多少個元素,請看以下的例子:
char char_1[] = new char[5];
char_1[0] = 'D';
char_1[1] = 'a';
char_1[2] = 'v';
char_1[3] = 'i';
char_1[4] = 'd';
mTextVIEw01.setText(char_1,1,3);
如上述程序所示:輸出的結果是"avi",因為從第1個元素索引開始,共取3個元素;最後則要提醒你,TextView.setTextVIEw不支持Html TAG 的輸出.所以即便寫成這樣:mTextView01.setTextVIEw("<a href=\"http://shop.teac.idv.tw/MyBlog/\">戴維的博客</a>");
實際輸出時,也就是純文本而已,並不會作HTML TAG的轉換.但若撇開Html TAG之外(如"<"開頭的標記),在TextVIEw裡加上了android:autoLink="all",那麼正文中若有網址(http://),則可以顯示出來,以下的范例就交給你自己實現看看.
<TextVIEw XMLns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:autoLink="all"
android:text="請訪問博客: http://shop.teac.idv.tw/MyBlog/"
/>
參照Google android SDK開發范例大全第2版學習並順便手工制作分享給要學習的朋友們,如有錯誤的地方還請大家指出,謝謝.
未完待續
public class DraftTest extends Activity { /** Called when the activity
在 android 中呈現 RSS 數據現在,RSS 提要中的 XML 數據安全地保存在內存中 RSSFeed 的實例中,該實例使用一個方便的 Li
Android 應用程序必須訪問位於 Internet 上的數據,而 Internet 數據可以有幾種不同的格式。本文將介紹在 android 應用程序中如何使用三種數
重播有JS調用Flash函數重播有問題。這個和安全沙箱有關系。我搞不定。所以這裡的重播是刷新了WebVIEw。上一節,大體說了下在android程序中嵌套Flash動畫