標籤:nbsp 換行 之間 水平 點擊 layout state resources tokenizer
(一)、TextView
1、使用TextView顯示文本資訊
2、在resources標籤下定義常量的標籤
3、通過findViewById()方法擷取控制項對象,此方法返回的是一個View對象,需要強制類型轉換
4、擷取某個控制項對象之前,一定要引用相應的布局
5、動態擷取資源常量值需要擷取Resources對象,Resources對象通過getResources()方法獲得
(二)、監聽按鈕點擊事件
3種註冊監聽方式比較
- 匿名內部類:需要擷取控制項對象,使用變數不方便;適用於單個事件
- 實現介面:需要擷取控制項對象,使用變數方便;適用於多個事件
- 設定onClick屬性:無需擷取控制項對象,使用變數方便;不便於維護
(三)布局
作用:不可見的視圖容器主鍵,負責管理其子控制項在螢幕中顯示的位置和大小
常見的幾種類型:
線性布局:Linear Layout 子控制項按照橫排向或縱向排列
排列方向屬性:
水平布局(預設) android:orientation=“horizontal” (不會自動換行)
垂直布局: android:orientation=“vertical”
重力屬性 android:gravity
Center 水平垂直置中 center_horizontal 水平置中 center_ vertical垂直置中
Top&bottom 頂部&底部 left&right 靠左&靠右
相對布局:RelativeLayout 子控制項靈活的出現在某個特殊位置上,方便描述控制項與控制項的相對位置關係
幀布局:FrameLayout 子控制項之間是層疊覆蓋的關係,多應用在滑動頁與片段出現的場合
格子布局:GridLayout 子控制項被排列在一個表格之中
一、控制項
Button——可以設定常值內容的一個按鈕
ImageButton——不可以設定常值內容,可以通過Background以及src添加一個imag,當前圖片可以做一個常值內容圖片。
ImageButton是用於在按鈕上顯示圖片的。所以是沒有android:text這個屬性的。並且如果在布局檔案中寫上android:text="我是一個按鈕",在android 4.4環境中是不會看到任何效果的
(二)、監聽按鈕點擊事件
3種註冊監聽方式比較
- 匿名內部類:需要擷取控制項對象,使用變數不方便;適用於單個事件
- 實現介面:需要擷取控制項對象,使用變數方便;適用於多個事件
- 設定onClick屬性:無需擷取控制項對象,使用變數方便;不便於維護
1)、AutoComplpteTextView 功能:動態匹配輸入的內容
獨特屬性:android:completionThreshold="2" 設定輸入多少字元時自動匹配
例子:
2)、MulitAutoComplpteTextView 功能:可支援選擇多個值,分別用分隔字元分開,可用於簡訊和郵件選擇連絡人時。
獨特屬性:android:completionThreshold="2" 設定輸入多少字元時自動匹配
例子:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.demo.MainActivity">
<AutoCompleteTextView
android:completionThreshold="2"
android:id="@+id/autoCompleteTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="請輸入關鍵字"/>
<MultiAutoCompleteTextView
android:completionThreshold="1"
android:id="@+id/autoCompleteTextView2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="請輸入你的收件者"/>
</LinearLayout>
package com.demo;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.MultiAutoCompleteTextView;
public class MainActivity extends Activity {
private AutoCompleteTextView acTextView;
private MultiAutoCompleteTextView macTextView;
private String[] res = {"南寧","南寧2","柳州","桂林","北海"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/**
* 1、初始化控制項
* 2、建立一個適配器,
* 3、初始化資料來源,這資料來源要和文字框輸入內容進行匹配
* 4、將Adapter與AutoCompleteTextView綁定
*/
acTextView=(AutoCompleteTextView) findViewById(R.id.autoCompleteTextView);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,res);
acTextView.setAdapter(adapter);
/**
* MultiAutoCompleteTextView
* 1、初始化控制項
* 2、建立一個適配器,
* 3、初始化資料來源,這資料來源要和文字框輸入內容進行匹配
* 4、將Adapter與AutoCompleteTextView綁定
* 5、設定分隔字元
*/
macTextView = (MultiAutoCompleteTextView) findViewById(R.id.autoCompleteTextView2);
macTextView.setAdapter(adapter);
//設定以逗號為結束分隔字元
macTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
}
}
Android 開發學習隨筆