跟我學Android之三 經常使用視圖

目標android

掌握視圖的概念。web

明白Activity與Widget的區別。 
掌握XML方式佈局界面的特色和一些基本特性。 
掌握幾種常見基本視圖的用法 
學會使用代碼方式進行界面佈局的方法。 

熟練掌握界面程序的事件驅動模型app

視圖(View)是可視化的界面元素,任何可視化組件都須要從android.view.View類繼承,視圖類一般分3種:佈局類、視圖容器類和基礎視圖類。以下圖:ide


視圖(View)是可視化的界面元素,視圖對象能夠單個組件或者不少組件的組合,能夠經過XML來建立視圖對象。代碼以下:
佈局


<LinearLayout android:orientation=「vertical」android:layout_width=「fill_parent」android:laout_height=「fill_parent」><TextView android:id="@+id/text"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Hello, I am a TextView"/><Button … /></LinearLayout>

下表列出了View類的一些經常使用屬性和方法 

url



XML屬性                  說明
spa

android:padding         爲組件的四邊設置填充區域orm

android:scrollbars 定義該組件滾動時顯示幾個滾動條。該屬性支持以下屬性值。xml

none:                          不顯示滾動條對象

horizontal:                 顯示水平滾動條

vertical:                     顯示垂直滾動條

android:tag               爲該組件設置一個字符串類型的tag值。接下來可經過View的getTag()獲取該字符串,或經過findViewWithTag()查詢該組件

android:visibility       設置該組件是否可見,該屬性取值有3個:

visible:                     可見

invisible:                 不可見

gone:                         隱藏

用於設定組件大小相關的屬性

每個視圖都須要定義android:layout_width和android:layout_height,其值能夠有以下幾種狀況,能夠指定確切的大小:

wrap_content:表示有視圖的內容決定大小

fill_parent(Level8以後更名爲match_parent)表示與父容器同樣大

設置組件填充父容器時存在兩種方式

內填充的部分存在於組件空間內,至關於頁邊距的效果

padding——用於設置四邊的內邊距

paddingLeft、paddingRight、paddingTop、paddingBottom

外填充的部分存在與組件空間外,相似於邊界的間隔

margin——用於設置四邊的外部間距

marginLeft、marginRight、marginTop、marginBottom

視圖與Widget(微件)的區別是:View是可視化的組件元素,Widget實際上是一個迷你的Application,View能夠存在於Widget中,View能夠認爲是界面的更加基本的元素。

使用XML佈局視圖

XML佈局文件是Android系統中定義視圖的經常使用方法,文件必須保存在res/layout目錄中,XML佈局文件的擴展名必須是xml,XML的文件名必須符合Java的變量命名規則,每個佈局文件的根節點能夠是任意的組件,佈局文件的根節點必須包含android命名空間,組件標籤須要使用「@+id/stringvalue」指定ID,ID值的必須符合Java的變量命名規範。

xmlns:android=「http://schemas.android.com/apk/res/android」

<TextView android:id=「@+id/textview1」 …>

XML佈局文件示例



<?xml version=「1.0」 encoding=「utf-8」?><LinearLayout xmlns:android=「http://schemas.android.com/apk/res/android」android:orientation=「vertical」 android:layout_width=「fill_parent」android:layout_height=「fill_parent」><TextView android:id=「@+id/textview1」 android:layout_width=「fill_parent」android:layout_height=「wrap_content」 android:text=「textview1」 /><Button android:id=「@+id/button1」 android:layout_width=「wrap_content」android:layout_height=「wrap_content」 android:text=「ok」 /></LinearLayout>


在Activity中使用XML佈局 


經過調用setContentView()方法在代碼中使用XML佈局


public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
}


經過調用findViewById()方法在代碼中控制視圖


TextView textView1 = (TextView)findViewById(R.id.textview1);
textView1.setText(「新的字符串內容」);


二:基本視圖


文本控件——TextView,顯示文本信息,顯示基本文本。

     

<TextView android:id=「@+id/textview1」 android:layout_width=「fill_parent」android:layout_height=「wrap_content」 android:text=「我是文本控件」 />

           顯示覆雜文本

   

<TextView android:id=「@+id/textview1」 android:layout_width=「fill_parent」android:layout_height=「wrap_content」 android:text=「我是文本控件」android:textSize=「20dp」 android:textColor=「#FF0000」android:background=「#FFFFFF」 android:padding=「30dp」android:layout_margin=「30dp」/>

                 顯示URL信息,經過指定android:autoLink屬性來自動識別URL內容,none 不匹配任何連接(默認值),web 匹配web地址,email 匹配Email地址,phone 匹配電話號碼。

示例 

<TextView android:id=「@+id/urlview」 android:layout_width=「fill_parent」android:layout_height=「wrap_content」 android:link=「email」 />


TextView urlView = (TextView)findViewById(R.id.urlview);urlView.setText(「電子郵件:testandroid@csg.com」);

編輯框----EditText 

EditText繼承自TextView,能夠接受用戶輸入,並能夠設置輸入的數據類型。

屬性inputtype,能夠限定輸入數據的類型,如下是經常使用的設置類型:

text:可輸入全部字符

textUri:  可輸入網址

textEmailAddress:可輸入電子郵件

textPassword:可輸入密碼

number:可輸入0^9的數字

date:可輸入日期(0-九、」/」)

time:可輸入時間(0-九、「: pam」)

phone:可輸入電話號碼

按鈕控件——Button 
         普通按鈕控件的示例 

<Button android:id=「@+id/okbtn」 android:layout_width=「wrap_content」android:layout_height=「wrap_content」 android:text=「我是按鈕」 />
相關文章
相關標籤/搜索