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

[源码下载]


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


作者: webabcd


介绍
在 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 " ,
    };
}


OK
[源码下载]
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值