Android学习笔记6

转载 2012年03月31日 16:35:29

 

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

 

 

 

 

 

 

【机器学习-斯坦福】学习笔记6 - 朴素贝叶斯

本次课程大纲: 1、 朴素贝叶斯 - 朴素贝叶斯事件模型 2、 神经网络(简要) 3、 支撑向量机(SVM)铺垫 – 最大间隔分类器...
  • maverick1990
  • maverick1990
  • 2013年11月14日 12:41
  • 4835

《GPU高性能编程CUDA实战》学习笔记(六)

第6章 常量内存与事件
  • w09103419
  • w09103419
  • 2016年09月11日 21:29
  • 503

NLTK学习笔记(6)

1. 探索上下文语境(Exploiting Context) 上下文语境特征往往提供关于正确标记的强大线索——例如:标注词fly,如果知道它前面的词是“a”将使我们能够确定它是一个名词,而不是一...
  • liuha511
  • liuha511
  • 2014年12月01日 20:22
  • 846

最近整理的Android学习笔记

今天记录一下这段时期学习android的笔记,这些笔记比较凌乱,但总归是有用的,以后什么时候有用,可以直接查询来使用。Android沉浸式状态栏如果想要我们的应用打开以后和状态栏的颜色保持一致,或者是...
  • mockingbirds
  • mockingbirds
  • 2015年07月18日 14:53
  • 3055

android学习笔记6

存储方式:SharedPreferences、sqlite、文件存储、网络存储     SharedPreferences:             通过NVP(键值对)方式存储在android文...
  • snowgeneral
  • snowgeneral
  • 2011年04月18日 11:26
  • 1118

WebRTC学习笔记(1)-迈出第一步

创建一个WebRTC的通信平台,首先需要通过用户的网络摄像头和麦克风获取实时的视频和音频流,在过去的浏览器中, 我们通常用插件来实现这个功能,现在我们可以使用js调用浏览器的getUserMedia ...
  • fXy_during
  • fXy_during
  • 2017年07月30日 11:29
  • 103

Android 学习笔记6:布局管理器

布局管理器的继承关系 LinearLayout android:gravity    设置布局管理器内组件对其方式,如top,right,left,bottom,center,可以多个属性组合...
  • skqcsy
  • skqcsy
  • 2014年01月20日 17:52
  • 425

android学习笔记6 eventhub

Eventhub是在Native 的inputmanager创建的时候被创建的,inputreadthread就通过eventhub的getevent方法来源源不断的获取driver上报的input事...
  • melody157398
  • melody157398
  • 2012年11月12日 11:11
  • 550

android学习笔记6 eventhub

Eventhub是在Native 的inputmanager创建的时候被创建的,inputreadthread就通过eventhub的getevent方法来源源不断的获取driver上报的input事...
  • shadow_dance
  • shadow_dance
  • 2012年11月02日 11:12
  • 3940

android学习笔记(6)

service相关知识 使用和绑定service 首先得知道service是什么 http://www.cnblogs.com/newcj/archive/2011/05/30/2061370.htm...
  • a905206271
  • a905206271
  • 2017年04月20日 12:10
  • 57
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android学习笔记6
举报原因:
原因补充:

(最多只允许输入30个字)