系出名门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进度条控件ProgressBar使用
  2. android控件属性
  3. Android(总结):控件居中|水平居中|垂直居中
  4. 介绍三个Android支持库控件:TabLayout+ViewPager+RecyclerView
  5. android界面开发小结——android笔记---控件和布局
  6. android重要控件各种大全
  7. android相对布局中控件的常用属性

随机推荐

  1. android获取sd卡路径方法
  2. AndEngine绘制滚动文本TickerText
  3. Android 中Fragment实现(芝麻虽小,必不可
  4. ANDROID获取Task及Process
  5. android之android.os.NetworkOnMainThrea
  6. opencv for android 教程(环境搭建篇)
  7. Android 保存图片到SQLite
  8. Android中自带的RSA加密算法和JAVA中的区
  9. Android编程学习之抽象类AbsListView用法
  10. android 如何得到手机的信息..