`
263229365
  • 浏览: 472134 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

阅读更多
系出名门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",
    };
}
分享到:
评论

相关推荐

    Android--UI之DatePicker、TimePicker

    包括DatePicker(日期选择控件)、TimePicker(时间选择控件)、DatePickerDialog(日期选择对话框)、TimePickerDialog(时间选择对话框)、AnalogClock(模拟时钟控件)、DigitalClock(数字时钟控件)。...

    Android---UI篇

    •Android---UI篇---DatePicker,TimePicker(日期和时间) • •Android---UI篇---ImageButton(带图标的按钮) • •Android---UI篇---RadioButton(单选按钮) • •Android---UI篇---CheckBox(多选按钮) • •...

    Android 原生DatePicker-TimePicker控件使用

    在Android开发中,`DatePicker`和`TimePicker`是两个常用的原生控件,用于让用户选择日期和时间。这两个控件在很多应用中都有广泛的应用,例如设置生日、预约时间等场景。本篇文章将深入探讨如何在Android应用中正确...

    前端项目-jquery-ui-timepicker-addon.zip

    前端项目-jquery-ui-timepicker-addon,TimePicker插件将TimePicker添加到jQueryUI日期选取器中,因此使用任何一个日期选取器和滑块组件(jQueryUI)都是...此外,所有datepicker选项仍然可以通过TimePicker插件使用。

    032_android UI组件之 时间日期控件DatePicker和TimePicker

    "时间日期控件DatePicker和TimePicker"是Android SDK中的两个重要组件,用于处理时间和日期选择。这两个控件允许用户在应用中方便地设置或选择日期和时间,常用于日程安排、事件设定等场景。 DatePicker组件提供了...

    Android Studio DatePicker和TimePicker的使用

    Android Studio 中的 DatePicker 和 TimePicker 组件使用详解 Android Studio 是 Google 官方推出的 Android 应用程序集成开发环境(IDE),提供了许多实用的组件和工具来帮助开发者快速构建高质量的 Android 应用...

    Android中简单datepicker和timepicker的自定义制作

    在Android SDK中,`DatePicker`和`TimePicker`是内建的控件,通常以对话框形式出现。`DatePicker`允许用户选择年、月和日,而`TimePicker`则让用户设定小时和分钟。 ### 2. 自定义`DatePicker` #### 2.1 创建布局...

    Android中的DatePicker和TimePicker控件使用

    在Android开发中,`DatePicker`和`TimePicker`控件是用于用户选择日期和时间的常见组件,它们通常以对话框的形式展现,提供便捷的交互方式。本文将深入讲解这两个控件的使用方法、功能特性以及如何在实际应用中集成...

    Android之日期时间选择控件DatePicker和TimePicker实例

    Android之日期时间选择控件DatePicker和TimePicker实例 Android之日期时间选择控件是Android应用程序中常用的控件之一,它可以帮助用户快速选择日期和时间。本文将详细介绍Android之日期时间选择控件DatePicker和...

    Android学习笔记17:中级视图组件DatePicker和TimePicker

    在Android应用开发中,中级视图组件如DatePicker和TimePicker是构建用户界面的重要部分,用于获取用户的日期和时间输入。这两个组件提供了用户友好的界面,让用户可以方便地选择日期和时间,常见于日历应用、事件...

    jquery-ui-datepicker中文版

    &lt;script src="js/jquery.ui.datepicker-zh-CN.js"&gt;&lt;/script&gt; 去掉该行,全英文。格式也好了很多! 期待后续的高手修改 该资源来自于网上一哥们 &lt;script type="text/javascript" src="js/jquery-ui-timepicker-addon...

    jQuery UI Datepicker插件timepicker时分秒

    《jQuery UI Datepicker插件与timepicker时分秒扩展详解》 在Web开发中,日期和时间的选择常常是一项必不可少的功能,jQuery UI Datepicker插件是一个非常流行的选择工具,它为用户提供了直观、易于使用的日期选择...

    安卓开发之DatePicker和TimePicker的应用释例

    在安卓应用开发中,`DatePicker`和`TimePicker`是两个非常重要的组件,它们用于让用户选择日期和时间,广泛应用于各种需要用户输入日期或时间的场景,如日程安排、事件记录等。本篇文章将详细讲解这两个组件的使用...

    Android自定义DatePicker 以及 TimePicker

    在Android开发中,`DatePicker`和`TimePicker`是用于用户选择日期和时间的常见组件。默认情况下,它们提供了一套标准的UI和交互方式,但有时为了满足特定的设计需求或者提升用户体验,开发者可能需要自定义这两个...

    日历控件只有年和月-------datepicker修改版

    buttonImage: "../images/jquery/jquery-ui-datepicker-buttonimage.png", buttonImageOnly: true, changeYear: true, changeMonth: true, maxDate:0, yearRange:"2010:", dateFormat:"yymm", showDay:false...

    详解Android控件之DatePicker、TimePicker探究

    总的来说,DatePicker和TimePicker是Android应用中处理日期和时间输入的重要工具。通过监听器接口,我们可以轻松获取用户的选择并做出相应的响应,比如保存用户选择的日期和时间,或者根据选择执行相应的业务逻辑。...

    Android代码-android-datepicker

    This library is ...Android 4.0 DatePicker backported to 2.2 Dependencies: CalendarView: https://github.com/SimonVT/android-calendarview NumberPicker: https://github.com/SimonVT/android-numberpicker

    Android中DatePicker与TimePicker的使用

    在Android开发中,`DatePicker`和`TimePicker`是两个常用的组件,用于用户选择日期和时间。它们在创建日历事件、设置提醒、输入出生日期等场景中非常常见。本篇文章将详细介绍如何在Android应用中有效地使用这两个...

    jquery-ui-1.11.2日期控件datepicker

    最新jquery-ui-1.11.2日期控件,官网下载内涵图片和自己添加的中文辅助jquery-ui-timepicker-zh-CN.js,经过本人测试绝对可以用,不知道怎么用的百度上找个例子即可,需要导入的包 ${ctx}/plugins/jquery-ui-1.11.2/...

Global site tag (gtag.js) - Google Analytics