Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android UI概述和常用控件

Android UI概述和常用控件

編輯:關於Android編程

一、UI 概述

Android應用程序的用戶界面是一切,用戶可以看到並與之交互。UI 是用戶能看見並可交互的組件。

– 系統 UI

– 自定義 UI

– View

– ViewGroup

二、View 與 ViewGroup

? View 是屏幕上的一個矩形區域,負責繪制和事件處理;它是控件(widget)的基類。

\

? ViewGroup 是 View 的子類,它是不可見的容器,負責管理其他 View 及它們的布局屬性;它是布局(layout)和視圖容器的基類。

三、布局

布局

是不可見的容器(ViewGroup)

定義 UI 的可視化結構

通過布局參數(LayoutParams)定義子元素的尺寸、位置

布局分類:

? 線性布局 (LinearLayout)

? 相對布局 (RelativeLayout)

? 幀布局 (FrameLayout)

? 表格布局 (TableLayout)

? 網格布局 (GridLayout)

四、視圖(View)繼承結構

\

由視圖可見,凡是顯示在Android屏幕上的“可視化”控件都是View,因為全都繼承自View。在使用時,可以類型轉化。

View 的通有屬性如圖:

 

\

五、常用控件

 

控件

用途

TextView

顯示文字,相當於Panel

ImageView

顯示圖片

EditText

輸入框,可編輯,可設置軟鍵盤方式

Button

按鈕,可附帶圖片

CheckBox

復選框

RadioButton

單選按鈕(和 RadioGroup 配合使用)

按用途分類:

 

? 文本控件

– TextView

– EditText

? 按鈕控件

– Button

– ImageButton

? 狀態開關按鈕

– ToggleButton

? 單選與復選按鈕

– CheckBox和RadioButton

? 圖片控件

– ImageView

? 時鐘控件

– AnalogClock

– DigitalClock

? 日期與時間選擇控件

– DatePicker

– TimePicker

1、TextView

?顯示文字,相當於Panel。一般用來文本展示,繼承自android.view.View,在android.widget包中。

常用屬性設置見下圖:

\

在布局文件(XML)對應的寫法:

屬性名稱

說明

android:text=“”

文字顯示

android:autoLink=””

鏈接類型。Web網址,email郵件,phone電話,map地圖。Linkify。

android:hint="請輸入數字!"

當TextView中顯示的內容為空時,顯示該文本

android:textColor = "#ff8c00"

字體顏色

android:textSize="20dip"

字體大小

android:layout_gravity="center_vertical"

設置控件顯示的位置:默認top,這裡居中顯示,還有bottom

2、EditText

輸入框,可編輯,可設置軟鍵盤方式。繼承自android.widget.TextView,在android.widget包中。

? 常用屬性設置:

\

android:hint="請輸入用戶名"

輸入框的提示文字

android:password=""

True為密碼框

android:phoneNumber=""

True為電話框

android:digits

設置允許輸入哪些字符。如“1234567890.+-*/%\n()”

android:numeric=""

數字框。Integer正整數, signed整數(可帶負號), decimal浮點數。

3、Button與ImageButton

Button是最常用的按鈕,繼承自android.widget.TextView,在android.widget包中。他的常用子類CheckBox,RadioButton, ToggleButton。

? 通常用法:

? super.findViewById(id)得到在layout中聲明的Button的引用,setOnClickListener(View.OnClickListener)添加監聽。然後再View.OnClickListener監聽器中使用v.equals(View)方法判斷哪個按鈕被按下,進行分別處理。

ImageButton繼承自ImageView類,與Button之間的最大區別在於ImageButton中沒有text屬性。ImageButton控件中設置按鈕中顯示的圖片可以通過android:src屬性來設置。也可以通過setImageResource(int)來設置。

ImageView常用屬性(也是ImageButton繼承具有的屬性):

\

4、ImageView—圖片控件

ImageView控件負責顯示圖片,其圖片的來源可以是在資源文件中的id,也可以是Drawable對象或者位圖對象。還可以是Content Provider的URI。

常用屬性:

Android:adjustViewBounds

設置是否需要ImageView調整自己的邊界,保證圖片的顯示比例

Android:maxHeight

最大高度

Android:maxWidth

最大寬度

Android:src

圖片路徑

Android:scaleType

調整或移動圖片

常用方法:

setAlpha(int)

設置ImageView透明度

setImageBitmap(Bitmap)

設置ImageView顯示的內容為Bitmap對象

setImageDrawable(Drawable)

設置ImageView所顯示內容為Drawable

setImageURI(Uri)

設置ImageView所顯示內容為Uri

setSelected(boolean)

設置ImageView的選擇狀態

setImageResource(int)

設置ImageView顯示內容的指定的id資源

ImageView 伸縮類型:

\

5、RadioButton和CheckBox--單選與復選按鈕

android.widget.CheckBox復選按鈕,繼承自android.widget.CompoundButton,在android.widget包中。

常用方法:

isChecked()檢查是否被選中。

監聽按鈕狀態更改,需要添加setOnCheckedChangeListener(CompoundButton.OnCheckedChangeListener);

android.widget. RadioButton單選按鈕,繼承自android.widget.CompoundButton,在android.widget包中。

通常用法:

單選按鈕要聲明在RadioGroup,RadioGroup是流式布局android.widget.LinearLayout的子類。

單選按鈕狀態更改的監聽,是要給他的RadioGroup添加setOnCheckedChangeListener(RadioGroup.OnCheckedChangeListener)監聽器。注意監聽器類型和CheckBox是不一樣的。

6、ToggleButton--狀態開關按鈕

android.widget. ToggleButton開關形式的按鈕,繼承自android.widget.CompoundButton,在android.widget包中。

常用屬性設置:

android:textOn=""

選擇狀態文字

android:textOff=""

未選狀態文字

如圖見效果:

 

\

7、DatePicker--日期與時間選擇控件

常用方法:

? getDayOfMonth():獲取當前Day

? getMonth():獲取當前月

? getYear()獲取當前年

? updateDate(int year, int monthOfYear, int dayOfMonth):更新日期

TimePicker

? 查看一個在24小時或上午/下午模式下一天的時間。

? 常用方法

? setCurrentMinute(Integer currentMinute)設置當前時間的分鐘

? getCurrentMinute()獲取當前時間的分鐘

? setEnabled(boolean enabled)設置當前視圖是否可以編輯。

? m_TimePicker.setIs24HourView(true);設置為24小時制顯示

? setOnTimeChangedListener(TimePicker.OnTimeChangedListener onTimeChangedListener)當時間改變時調用

相關包類:

? TimePickerDialog、DatePickerDialog

? 以對話框形式顯示日期時間視圖

? Calendar

? 日歷是設定年度日期對象和一個整數字段之間轉換的抽象基類,如,月,日,小時等。

六、實例演示

1、TextView演示---實現下圖效果

\

文本中的鏈接:

 

\

跑馬燈效果:

\

2、EditText---實現下圖效果

\

帶圖標的輸入框:

\

選中全部文本:

\

3、Button---實現下圖效果

\

代碼實現:

\

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved