Android开发8:UI组件TextView,EditText,Button
生活随笔
收集整理的這篇文章主要介紹了
Android开发8:UI组件TextView,EditText,Button
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
版本:Android4.3 API18 學(xué)習(xí)整理:liuxinming
TextView
概述
TextView直接繼承了View(EditText、Button兩個UI組件類的父類) TextView還派生了一個CheckedTextView,CheckedTextView增加了一個checked狀態(tài) 可以通過setChecked(boolean)和isChecked()方法來改變、訪問該組件的checked狀態(tài) 還可以通過setCheckMarkDrawable()方法來設(shè)置它的勾選圖標(biāo)。TextView類及子類的類圖
XML屬性
TextView提供了大量的XMl屬性,這些XML屬性大部分也適用于它的子類(EditText,Button等) 具體XML屬性參考 http://developer.android.com/reference/android/widget/TextView.htmlEditText
概述
EditText 與 TextView非常相似,它與TextView公用了絕大部分XML屬性和方法。 和TextView區(qū)別:EditText可以接受用戶輸入子類
從上面類圖關(guān)系可以看出,EditText派生了兩個子類 1、AutoCompleteTextView :帶有自動完成功能的EditText,該類通常要與Adapter結(jié)合使用。 2、ExtractEditText :它并不是UI組件,而是EditText組件的底層服務(wù)類,負(fù)責(zé)提供全屏輸入法支持。奉上測試案例:用戶輸入界面
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent"android:stretchColumns="1"><TableRow><TextView android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="用戶名:"android:textSize="16sp"/><EditText android:layout_width="fill_parent"android:layout_height="wrap_content"android:hint="請?zhí)顚懙卿涃~戶"android:selectAllOnFocus="true"/></TableRow><TableRow><TextView android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="密碼:"android:textSize="16sp"/><!-- android:inputType="numberPassword" 表明只能接受數(shù)字密碼 --><EditText android:layout_width="fill_parent"android:layout_height="wrap_content"android:inputType="numberPassword"/></TableRow><TableRow ><TextView android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="年齡:"android:textSize="16sp"/><EditText android:layout_width="fill_parent"android:layout_height="wrap_content"android:inputType="number"/></TableRow><TableRow ><TextView android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="生日:"android:textSize="16sp"/><EditText android:layout_width="fill_parent"android:layout_height="wrap_content"android:inputType="date"/></TableRow><TableRow ><TextView android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="電話號碼:"android:textSize="16sp"/><EditText android:layout_width="fill_parent"android:layout_height="wrap_content"android:hint="請?zhí)顚懩碾娫捥柎a"android:selectAllOnFocus="true"android:inputType="phone"/></TableRow><Button android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="注冊"/> </TableLayout>調(diào)試效果:
Button
概述
根據(jù)上述類圖關(guān)系可以看出Button繼承了TextView類,它主要是在UI界面上生成一個按鈕,該按鈕可以提供用戶單擊 當(dāng)用戶單擊時,按鈕會觸發(fā)一個onClick事件 可以通過android:background屬性為按鈕增加背景顏色和圖片RadioButton,CheckBox
RadioButton CheckBox ToggleButton(狀態(tài)開關(guān)按鈕) Switch(開關(guān)) 繼承了Button類,因此可以使用Button支持的各種屬性和方法 RadioButton CheckBox 它們多了一個可選中的功能,因此都可額外指定一個android:checked屬性,用于指定初始時是否被選中 RadioButton 只能選中一個 類似 HTML 中的 <input type="radio" 單選框表單 CheckBox 可以選中多個 類似 HTML 中的 <input type="checkbox" 復(fù)選框單選按鈕、復(fù)選框?qū)嵗?/h2> XML布局 <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent"android:stretchColumns="1"><TableRow ><TextView android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="性別:"android:textSize="16sp"/><!-- 這里定義一組單選按鈕 --><RadioGroup android:id="@+id/button01"android:orientation="horizontal"android:layout_gravity="center_horizontal"><!-- 定義兩個單選按鈕 --><RadioButton android:id="@+id/boy"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="男"android:checked="true"/><RadioButton android:id="@+id/gril"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="女"/></RadioGroup></TableRow><TableRow ><TextView android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="喜歡的美女"android:textSize="16sp"/><!-- 定義一個垂直的線性布局 --><LinearLayout android:layout_gravity="center_horizontal"android:orientation="vertical"android:layout_width="wrap_content"android:layout_height="wrap_content"><!-- 定義三個復(fù)選框 --><CheckBox android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="大S"android:checked="true"/><CheckBox android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="小S"/></LinearLayout></TableRow><TextView android:id="@+id/show"android:layout_width="wrap_content"android:layout_height="wrap_content"/>
</TableLayout>
java代碼 package com.example.edittext;import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.RadioGroup;
import android.widget.RadioGroup.OnCheckedChangeListener;
import android.widget.TextView;public class MainActivity extends Activity {RadioGroup button01;TextView show;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//獲取界面上button01,show兩個組件對象button01 = (RadioGroup) findViewById(R.id.button01);show = (TextView) findViewById(R.id.show);//為RadioGroup組件的OnCheck事件綁定事件監(jiān)聽器button01.setOnCheckedChangeListener(new OnCheckedChangeListener(){@Overridepublic void onCheckedChanged(RadioGroup group, int checkedId) {// TODO Auto-generated method stub//根據(jù)用戶勾選的單選按鈕來動態(tài)改變tip字符串的值String tip = checkedId == R.id.boy ? "男人":"女人";//修改 show 組件中的文本show.setText(tip);}});}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}
效果
ToggleButton,Switch
ToggleButton,Switch通常用于切換程序中的某種狀態(tài) 具體XML屬性參考官方API
http://developer.android.com/reference/android/widget/Button.html
AnalogClock,DigitalClock
DigitalClock本身繼承了TextView---也就是說它本身就是文本框,只是它里面顯示的內(nèi)容總是當(dāng)前時間 AnalogClock繼承了View組件,它重寫了View的OnDraw方法,它會在View上繪制模擬時鐘 區(qū)別: DigitalClock顯示數(shù)字時鐘,可以顯示當(dāng)前的秒數(shù) AnalogClock顯示模擬時鐘,不會顯示當(dāng)前秒數(shù)
Chronometer
Chronometer(計時器),繼承TextView,顯示一段文本,但它不顯示當(dāng)前時間,顯示從某個起始時間開始,一共過去了多長時間 提供了一個android:format 屬性,用于指定計時器的計時格式。 支持常用方法
1、setBase(long base) :設(shè)置計時器的起始時間 2、setFormat(String format):設(shè)置顯示時間格式 3、start():開始計時 4、stop():停止計時 5、setOnChronometerTickListener(Chronometer.OnChronometerTickListenerlistener):為計時器綁定事件監(jiān)聽器,當(dāng)計時改變時觸發(fā)該監(jiān)聽器。
具體用法參考官方API: http://android.toolib.net/reference/android/widget/Chronometer.html
歡迎Android , php 同學(xué)加群 QQ :224784042 交流 學(xué)習(xí)的結(jié)果,依靠于每天的持之以恒!!不是特忙,特加班情況,會每天更新一篇Android學(xué)習(xí)筆記,歡迎大家互相交流,學(xué)習(xí),共同進(jìn)步。 偶菜鳥一枚!!!!!! 晚安!
?
總結(jié)
以上是生活随笔為你收集整理的Android开发8:UI组件TextView,EditText,Button的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 8月下旬国内域名注册商净增量Top10
- 下一篇: 跨平台日志清理工具 Log-Cutter