android基本UI——输入控件--android

和Swing一样,android定义了很多有用的控件,我们可以使用这些控件快速的开发出我们自己的应用程序。

android的UI界面都是由View和ViewGroup及其派生类组合而成的。其中,View是所有UI组件的基类,而 ViewGroup是容纳这些组件的容器,其本身也是从View派生出来的.

View对象是android平台中用户界面体现的基础单位。

View类是它称为“widgets(工具)”的子类的基础,它们提供了诸如文本输入框和按钮之类的UI对象的完整实现。

ViewGroup类同样为其被称为“Layouts(布局)”的子类奠定了基础,它们提供了象流式布局、表格布局以及相对布局之类的布局架构。

下面我们简单介绍设计界面时最常用的几个输入控件。

一、Buttons

Buttons按钮控件,可以设置普通的文本按钮,还可以图片按钮,当然也可以是图片文本按钮,按钮最重要的功能当然就是接受用户的点击操作。

1、定义普通的文本按钮:

    <Button
android:id="@+id/calButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="取消" />

2、图片按钮定义:

    <ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher" />

3、图标文本按钮定义:

    <Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/ic_launcher"
android:text="取消" />

4、单击事件

(1)在配置文件中配置onClick属性,指定在Activity中需要实现的方法名称。这样在用户点击按钮是就会执行Activity实现的对应的方法了。

配置文件实现如下:

    <Button
android:id="@+id/calButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="取消"
android:onClick="doSomething"
/>

对应的在Activity实现其对应的方法如下:

//实现对应的onClick的方法。
    public void doSomething(View view){
        //实现方法。
    }

(2)当然我们还可以使用setOnClickListener方法,传入实现了OnClickListener接口的对象,这样是我们之前常见的方式了,代码如下:

registerButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View arg0) {
     //实现方法。
    }
});

二、Text Field

标准的输入框,你可以设置单行或多行的,

1、设置hint属性可以用于提示信息,比较适合在移动设配上使用,inputType属性可以控制虚拟键盘的类型。inputType主要主要有以下的几个类型:

(1)"text":普通的文本虚拟键盘。

(2)"textEmailAddress":也是普通的文本键盘,不过会多出一个“@”的虚拟键盘。

(3)"textUri":也是普通的文本键盘,不过会多出一个“/”的虚拟键盘。

(4)"number":基本的数字虚拟键盘。

(5)"phone":电话风格的虚拟键盘。

(6)"textPassword":密码框。

2、定义一个普通的输入框。示例代码:

<EditText
android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="用户名"
android:inputType="text"
>
</EditText>

效果如下:

3、定义一个带有电话号码的输入框。代码如下:

    <EditText
android:id="@+id/editText3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:ems="10"
android:hint="电话号码"
android:inputType="phone" >
</EditText>

效果如下:

4、自动完成的输入框。效果如下图,默认输入两个字符后才会有提示的,你也可以通过设定android:completionThreshold属性,修改弹出下来列表的最小字符个数。

效果如下图:

(1)在布局文件中定义控件

    <AutoCompleteTextView
android:id="@+id/autocomplete_country"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:completionThreshold="1"
/>

(2)在values/strings.xml中定义数据源

     <string-array name="city_array">
<item>广东省</item>
<item>广西省</item>
<item>山东省</item>
<item>海南省 </item>
</string-array>

(3)在Activity设定设配器

AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.autocomplete_country);
        // 获得数组
        String[] countries = getResources().getStringArray(
                R.array.city_array);
        // 定义适配器
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this.
                android.R.layout.simple_list_item_1, countries);
        textView.setAdapter(adapter);

三、Checkboxs

也就是复选框,效果如下图:

1、在布局文件中定义控件。实现代码如下:

    <CheckBox
android:id="@+id/checkBox1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="篮球" />

2、一般就是在Activity判断该复选框是否选中。

//判断是否有选中
boolean result=checkBox1.isChecked();

四、Radio Buttons

单选按钮,一般也和单选按钮组一起使用,同一组的单选按钮才会有单选的功效。效果图如下:

在布局中定义一个单选按钮组,然后在定义两个单选按钮,实现代码如下:

     <RadioGroup
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="horizontal" >
<RadioButton
android:id="@+id/radioButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="男" />

<RadioButton
android:id="@+id/radioButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="女" />
</RadioGroup>

2、一般就是在Activity判断该复选框是否选中。

Log.e("RadioButton", radioButton1.isChecked() ? "男" : "女");

五、Spinners

相当于swing中的下拉框,当然实现起来稍微复杂一点。效果如下:

1、在布局中定义控件。

<Spinner
android:id="@+id/spinner1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>

2、在values/strings.xml中定义数据源

<string-array name="ji_arrray">
<item>籍贯</item>
<item>广东省</item>
<item>广西省</item>
<item>山东省</item>
</string-array>

3、在Activity使用设配器绑定控件和数据源。

Spinner spinner = (Spinner) findViewById(R.id.spinner1);
        // 定义设配器
        ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this.
         R.array.ji_arrray, android.R.layout.simple_spinner_item);

        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    
        spinner.setAdapter(adapter);

六、Pickers

有时间Picker和日期Picker,可以让用户非常方便的选择时间或者日期。效果如下图:

在布局中定义控件。

<DatePicker
android:id="@+id/datePicker1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

<TimePicker
android:id="@+id/timePicker1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

更多的介绍,大家可以参考android的开发者文档:

http://developer.android.com/guide/topics/ui/controls/text.html

Java免费学习   Java自学网 http://www.javalearns.com

关注微信号:javalearns  ,随时随地学Java

今天看到一个手机也能赚钱的网站,与大家分享(真实可信,已亲身体验):

http://javalearns.jifenqiang.com/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值