Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android 輸入控件

Android 輸入控件

編輯:關於Android編程

今天天氣不錯 大笑 蝦米 來講解 Android中輸入的控件 在 Android中輸入控件是常見的 隨處可見 今天又時間 寫一篇Android中輸入控件的集合 了解他們的相同處和不同處,下面是Android系統中我們常用到的輸入控件 好 廢話不多 開始:
Android已經為接受來自用戶的輸入多種不同的輸入控件的支持。常見的輸入控件包括:

Buttons Text Fields Checkboxes Radio Buttons Toggle Buttons Spinners NumberPicker Date and Time Pickers
Android 將一個輸入控件添加到您的用戶界面非常簡單 ,將xml元素添加到xml布局. \
Buttons<喎?/kf/ware/vc/" target="_blank" class="keylink">vc3Ryb25nPgo8c3Ryb25nPiAgICAgICBBbmRyb2lkudm3vb3iys2jurC0xaW0+rHt0ru49rC0xaWyv7z+oaO/ydLUsLTPwrC0xaUsu/LV37Xju/cs08nTw7unwLTWtNDQ0ru49rav1/eho9K7uPa15NDNtcQgICAgICAgIMq508PSu7j2u+62r72rz8LD5rXEsLTFpTo8L3N0cm9uZz4KPHN0cm9uZz4gICAgICAgIDxCdXR0b248YnI+CiAgICAgICAgICAgICAgICBhbmRyb2lkOmlkPQ=="@+id/button_id"
android:layout_width="10dp"
android:layout_height="8dp"
android:layout_gravity="center"
android:layout_marginRight="10dp"
android:layout_weight="1"
android:background="@drawable/login_input_arrow" />

 public class MyActivity extends Activity {
     protected void onCreate(Bundle icicle) {
         super.onCreate(icicle);

         setContentView(R.layout.content_layout_id);

         final Button button = (Button) findViewById(R.id.button_id);
         button.setOnClickListener(new View.OnClickListener() {
             public void onClick(View v) {
                 // Perform action on click
             }
         });
     }
 }
Text Fields 一個文本字段允許用戶輸入文本到您的應用程序。它可以是一行或多行。觸摸一個文本字段位置,光標,並自動顯示鍵盤。除了打字,文本字段允許各種各樣的其他活動,例如文本選擇(剪切、復制、粘貼)和數據通過自動完成查找。 \
Android:inputType:輸入的類型 允許輸入Text(字符串) TextEmailAddress(email的地址) texturi(網址) number(數字) phone(號碼) textCansentences() textcapwords() textautocurrect() textpassword() textmultiLine()
For example, here's how you can collect a postal address, capitalize each word, and disable text suggestions:
 

Checkboxs checkboxs 允許用戶選擇一個或多個 通常 checkboxs是一個列表在一個垂直下拉框中


    
    
在一個Activity 判斷checkbox是否選中
public void onCheckboxClicked(View view) {
    // Is the view now checked?
    boolean checked = ((CheckBox) view).isChecked();
    
    // Check which checkbox was clicked
    switch(view.getId()) {
        case R.id.checkbox_meat:
            if (checked)
                // Put some meat on the sandwich
            else
                // Remove the meat
            break;
        case R.id.checkbox_cheese:
            if (checked)
                // Cheese me
            else
                // I'm lactose intolerant
            break;
    }
}


Radio Butons 單選按鈕允許用戶選擇一個選項從一組。如果不是必要並排顯示所有選項,使用微調控制項。

創建每個單選按鈕選項,創建一個RadioButton在你的布局。然而,由於單選按鈕是互相排斥的,你必須RadioGroup內它們分組在一起。通過分組在一起,可以選擇系統確保只有一個單選按鈕。



    
    




public void onRadioButtonClicked(View view) {
    // Is the button now checked?
    boolean checked = ((RadioButton) view).isChecked();
    
    // Check which radio button was clicked
    switch(view.getId()) {
        case R.id.radio_pirates:
            if (checked)
                // Pirates are the best
            break;
        case R.id.radio_ninjas:
            if (checked)
                // Ninjas rule
            break;
    }
}

Toggle Buttons 切換按鈕允許在兩種狀態之間切換設置 您可以添加一個基本的切換按鈕與布局切換按鈕 對象。的Android 4.0(API等級14)引入了另一種切換按鈕,稱為它提供了一個滑塊控件,您可以使用添加開關交換對象。 \ \ (切換按鈕) 開關 (Android4.0+) 響應點擊事件
當用戶選擇一個切換按鈕和開關,對象收到的點擊事件。

要定義Click事件處理程序中,添加機器人:的onClick屬性的 <切換按鈕>或<開關>元素在XML布局。該屬性的值必須是要在響應click事件調用的方法的名稱。該活動舉辦的布局必須再執行相應的方法。


例如,這裡有一個切換按鈕與安卓的onClick屬性:
public void onToggleClicked(View view) {
    // Is the toggle on?
    boolean on = ((ToggleButton) view).isChecked();
    
    if (on) {
        // Enable vibrate
    } else {
        // Disable vibrate
    }
}

Spinners Spinner提供一個快速的方法來選擇一個值從一組。在默認狀態,微調器顯示當前選擇的價值。觸摸Spinner與所有其他可用值顯示一個下拉菜單,用戶可以選擇的一個新的。 \ spinner布局
Create a spinner like any view and specify the android:entries attribute to specify the set of options:
特別的string array 的條目在res/values/planets_arrays下


	
		Mercury
		Venus
		Earth
		Mars
	
查看Spinners指南更多細節。注意,定制一個微調控制項的文本需要使用自定義數組適配器和布局文件。
獲取和設置多值 String str_spinner=spinner.getseletedItem().toString();
public void setSpinnerToValue(Spinner spinner, String value) {
	int index = 0;
	SpinnerAdapter adapter = spinner.getAdapter();
	for (int i = 0; i < adapter.getCount(); i++) {
		if (adapter.getItem(i).equals(value)) {
			index = i;
			break; // terminate loop
		}
	}
	spinner.setSelection(index);
}
自定義ArrayAdapter 資源

Spinner spinner = (Spinner) findViewById(R.id.spinner);
// Create an ArrayAdapter using the string array and a default spinner layout
ArrayAdapter adapter = ArrayAdapter.createFromResource(this,
        R.array.planets_array, android.R.layout.simple_spinner_item);
// Specify the layout to use when the list of choices appears
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// Apply the adapter to the spinner
spinner.setAdapter(adapter);
Multiple Select Spinner

By default, the spinner only allows the user to select one option from the list. Check out the following resources surrounding multiple selection spinners:

MultiSelectSpinner - Simple multi-select library
MultiSelect Tutorial 1
MultiSelect Tutorial 2
Simple Multi Dialog

Note that we can also use a ListView in this case instead to avoid a spinner altogether.
NumberPicker
This is a widget that enables the user to select a number from a predefined range. First, we put the NumberPicker within the layout XML:


Then we must define the desired range at runtime in the Activity:

public class DemoPickerActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_demo_picker);
        NumberPicker numberPicker = 
            (NumberPicker) findViewById(R.id.np_total);
        numberPicker.setMinValue(0); 
        numberPicker.setMaxValue(100);    
        numberPicker.setWrapSelectorWheel(true);
    }
}

Note we set the range with setMinValue and setMaxValue and made the selector wrap with setWrapSelectorWheel. If you want to listen as the value changes, we can use the OnValueChangeListener listener:
// within onCreate
numberPicker.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() {
    @Override
    public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
        Log.d("DEBUG", "Selected number in picker is " + newVal);
    }
});


You can also call getValue to retrieve the numeric value any time. See the NumberPicker docs for more details.

References http://developer.android.com/guide/topics/ui/controls.html



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