系出名门Android(6) - 控件(View)之DatePicker, TimePicker, ToggleButton, EditText, ProgressBar, SeekBar, AutoCompleteTextView, MultiAutoCompleteTextView



Android 中使用各种控件(View)

  • DatePicker- 日期选择控件
  • TimePicker-时间选择控件
  • ToggleButton-双状态按钮控件
  • EditText -可编辑文本控件
  • ProgressBar -进度条控件
  • SeekBar -可拖动的进度条控件
  • AutoCompleteTextView - 支持自动完成功能的可编辑文本控件
  • MultiAutoCompleteTextView -支持自动完成功能的可编辑文本控件,允许输入多值(多值之间会自动地用指定的分隔符分开)



1、DatePicker的 Demo
datepicker.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">        <!--        DatePicker - 日期选择控件    -->    <DatePicker android:id="@+id/datePicker"        android:layout_width="wrap_content" android:layout_height="wrap_content">    </DatePicker>    </LinearLayout>

_DatePicker.java

package com.webabcd.view;import android.app.Activity;import android.os.Bundle;public class _DatePicker extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        // TODO Auto-generated method stub        super.onCreate(savedInstanceState);        this.setContentView(R.layout.datepicker);        // 具体的应用可参见对话框中的示例        setTitle("DatePicker");    }}

2、TimePicker 的 Demo
timepicker.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">        <!--        TimePicker - 时间选择控件    -->    <TimePicker android:id="@+id/timePicker"        android:layout_width="wrap_content" android:layout_height="wrap_content">    </TimePicker>    </LinearLayout>

TimePicker.java

package com.webabcd.view;import android.app.Activity;import android.os.Bundle;public class _TimePicker extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        // TODO Auto-generated method stub        super.onCreate(savedInstanceState);        this.setContentView(R.layout.timepicker);        // 具体的应用可参见对话框中的示例        setTitle("TimePicker");    }}

3、ToggleButton 的 Demo
togglebutton.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:layout_width="fill_parent"        android:layout_height="wrap_content" android:id="@+id/textView" />            <!--         ToggleButton - 双状态按钮控件            textOn - 当按钮状态为 true 时所显示的文本            textOff - 当按钮状态为 false 时所显示的文本    -->    <ToggleButton android:id="@+id/toggleButton"        android:layout_width="wrap_content" android:layout_height="wrap_content"        android:textOn="关闭" android:textOff="打开" />        </LinearLayout>

ToggleButton.java

package com.webabcd.view;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.TextView;import android.widget.ToggleButton;public class _ToggleButton extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        // TODO Auto-generated method stub        super.onCreate(savedInstanceState);        this.setContentView(R.layout.togglebutton);        setTitle("ToggleButton");                final ToggleButton btn = (ToggleButton) this.findViewById(R.id.toggleButton);        // setOnClickListener() - 响应按钮的鼠标单击事件        btn.setOnClickListener(new Button.OnClickListener(){            @Override            public void onClick(View v) {                TextView txt = (TextView) _ToggleButton.this.findViewById(R.id.textView);                // ToggleButton.isChecked() - 双状态按钮的按钮状态                txt.setText("按钮状态:" + String.valueOf(btn.isChecked()));            }        });    }}

4、EditText 的 Demo
edittext.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">        <!--        EditText - 可编辑文本控件    -->    <EditText android:id="@+id/editText" android:layout_width="fill_parent"        android:layout_height="wrap_content">    </EditText>    </LinearLayout>

EditText.java

package com.webabcd.view;import android.app.Activity;import android.os.Bundle;import android.widget.EditText;public class _EditText extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        // TODO Auto-generated method stub        super.onCreate(savedInstanceState);        this.setContentView(R.layout.edittext);        setTitle("EditText");                EditText txt = (EditText) this.findViewById(R.id.editText);        txt.setText("我可编辑");    }}

5、ProgressBar 的Demo
progressbar.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">    <!--        ProgressBar - 进度条控件    -->    <!--以下分别为大、中、小的进度条控件(圆圈状)-->    <ProgressBar android:id="@+android:id/progress_large"        style="?android:attr/progressBarStyleLarge" android:layout_width="wrap_content"        android:layout_height="wrap_content" />    <ProgressBar android:id="@+android:id/progress"        android:layout_width="wrap_content" android:layout_height="wrap_content" />    <ProgressBar android:id="@+android:id/progress_small"        style="?android:attr/progressBarStyleSmall" android:layout_width="wrap_content"        android:layout_height="wrap_content" />    <!--        进度条控件(条状)的演示            style - 进度条的样式,本例使用内置样式            max - 进度的最大值            progress - 第一进度位置            secondaryProgress - 第二进度位置    -->    <ProgressBar android:id="@+id/progress_horizontal"        style="?android:attr/progressBarStyleHorizontal" android:layout_width="200px"        android:layout_height="wrap_content" android:max="100"        android:progress="50" android:secondaryProgress="75" /></LinearLayout>

ProgressBar.java

package com.webabcd.view;import android.app.Activity;import android.os.Bundle;import android.view.Window;// 另见对话框中的进度条public class _ProgressBar extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        // TODO Auto-generated method stub        super.onCreate(savedInstanceState);                        // 设置特性以允许在应用程序的标题栏上显示进度条(条状)        requestWindowFeature(Window.FEATURE_PROGRESS);        // 设置特性以允许在应用程序的标题栏上显示进度条(圆圈状)        requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);        this.setContentView(R.layout.progressbar);        setTitle("ProgressBar");                // 在标题栏上显示进度条(条状)        setProgressBarVisibility(true);        // 在标题栏上显示进度条(圆圈状)        setProgressBarIndeterminateVisibility(true);                // 指定进度条的进度        setProgress(50 * 100);        setSecondaryProgress(75 * 100);    }}


6、SeekBar 的 Demo
seekbar.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">        <!--        SeekBar - 可拖动的进度条控件            max - 进度的最大值            progress - 第一进度位置            secondaryProgress - 第二进度位置    -->    <SeekBar android:id="@+id/seekBar" android:layout_width="fill_parent"        android:layout_height="wrap_content" android:max="100"        android:progress="50" android:secondaryProgress="75" />    <TextView android:id="@+id/progress" android:layout_width="fill_parent"        android:layout_height="wrap_content" />    <TextView android:id="@+id/tracking" android:layout_width="fill_parent"        android:layout_height="wrap_content" /></LinearLayout>

SeekBar.java

package com.webabcd.view;import android.app.Activity;import android.os.Bundle;import android.widget.SeekBar;import android.widget.TextView;public class _SeekBar extends Activity implements        SeekBar.OnSeekBarChangeListener {    SeekBar mSeekBar;    TextView mProgressText;    TextView mTrackingText;    @Override    protected void onCreate(Bundle savedInstanceState) {        // TODO Auto-generated method stub        super.onCreate(savedInstanceState);        this.setContentView(R.layout.seekbar);        setTitle("SeekBar");        mSeekBar = (SeekBar) findViewById(R.id.seekBar);        // setOnSeekBarChangeListener() - 响应拖动进度条事件        mSeekBar.setOnSeekBarChangeListener(this);                mProgressText = (TextView) findViewById(R.id.progress);        mTrackingText = (TextView) findViewById(R.id.tracking);    }    // 拖动进度条后,进度发生改变时的回调事件    public void onProgressChanged(SeekBar seekBar, int progress,            boolean fromTouch) {        mProgressText.setText(progress + "%");    }    // 拖动进度条前开始跟踪触摸    public void onStartTrackingTouch(SeekBar seekBar) {        mTrackingText.setText("开始跟踪触摸");    }    // 拖动进度条后停止跟踪触摸    public void onStopTrackingTouch(SeekBar seekBar) {        mTrackingText.setText("停止跟踪触摸");    }}

7、AutoCompleteTextView 的 Demo
autocompletetextview.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">    <!--        AutoCompleteTextView - 支持自动完成功能的可编辑文本控件    -->    <AutoCompleteTextView android:id="@+id/editText"        android:layout_width="fill_parent" android:layout_height="wrap_content" /></LinearLayout>

AutoCompleteTextView.java

package com.webabcd.view;import android.app.Activity;import android.os.Bundle;import android.widget.ArrayAdapter;import android.widget.AutoCompleteTextView;public class _AutoCompleteTextView extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.autocompletetextview);        setTitle("AutoCompleteTextView");                // 实例化适配器,指定显示格式及数据源        ArrayAdapter<String> adapter = new ArrayAdapter<String>(                this,                android.R.layout.simple_dropdown_item_1line,                 ary);        AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.editText);        // 指定自动完成控件的适配器        textView.setAdapter(adapter);    }    // 自动完成控件的所需数据的数据源    private String[] ary = new String[] {        "abc",        "abcd",        "abcde",        "abcdef",        "abcdefg",        "hij",        "hijk",        "hijkl",        "hijklm",        "hijklmn",    };}

8、MultiAutoCompleteTextView 的 Demo
multiautocompletetextview.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">    <!--        MultiAutoCompleteTextView - 支持自动完成功能的可编辑文本控件,允许输入多值(多值之间会自动地用指定的分隔符分开)    -->    <MultiAutoCompleteTextView android:id="@+id/editText"        android:layout_width="fill_parent" android:layout_height="wrap_content" /></LinearLayout>

MultiAutoCompleteTextView.java

package com.webabcd.view;import android.app.Activity;import android.os.Bundle;import android.widget.ArrayAdapter;import android.widget.MultiAutoCompleteTextView;public class _MultiAutoCompleteTextView extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.multiautocompletetextview);        setTitle("MultiAutoCompleteTextView");                // 实例化适配器,指定显示格式及数据源        ArrayAdapter<String> adapter = new ArrayAdapter<String>(                this,                android.R.layout.simple_dropdown_item_1line,                 ary);        MultiAutoCompleteTextView textView = (MultiAutoCompleteTextView) findViewById(R.id.editText);        textView.setAdapter(adapter);                // 设置多个值之间的分隔符,此处为逗号        textView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());    }    // 自动完成控件的所需数据的数据源    private String[] ary = new String[] {        "abc",        "abcd",        "abcde",        "abcdef",        "abcdefg",        "hij",        "hijk",        "hijkl",        "hijklm",        "hijklmn",    };}

更多相关文章

  1. Android:控件AutoCompleteTextView 自动提示
  2. 安卓巴士Android开发神贴整理
  3. Android(安卓)SeekBar自定义使用图片和颜色显示
  4. Android进度条控件ProgressBar使用
  5. 安卓巴士Android开发神贴整理
  6. android控件属性
  7. android:Spinner(下拉框)控件的使用
  8. Android(总结):控件居中|水平居中|垂直居中
  9. 关于android.R.id.text1

随机推荐

  1. Java 线程池 ThreadPoolExecutor -01
  2. 什么是黑盒测试和白盒测试、灰盒测试?
  3. Java导出类型是什么?
  4. 工作常用的git指令
  5. java do{} while()
  6. 提高团队协作效率就靠它们了!
  7. C 存储类
  8. Python安装graphics库
  9. Python3 环境搭建
  10. Python下安装Scrapy