`
sarin
  • 浏览: 1756917 次
  • 性别: Icon_minigender_1
  • 来自: 大连
博客专栏
E3b14d1f-4cc5-37dd-b820-b6af951740bc
Spring数据库访问系列...
浏览量:173657
C2083dc5-6474-39e2-993e-263652d27795
Android学习笔记
浏览量:368126
5f40a095-b33c-3e8e-8891-606fcf3b8d27
iBatis开发详解
浏览量:189261
B272a31d-e7bd-3eff-8cc4-c0624ee75fee
Objective-C学习...
浏览量:99838
社区版块
存档分类
最新评论

Android学习笔记六:基本视图组件:EditText

阅读更多
    接上文
    类似于Web开发中的HTML输入框,EditText就是Android中的文本输入框。前面介绍的TextView仅仅用于静态文本的显示,而需要用户进行输入的话,就需要使用EditText组件。
    首先,看一下EditText的文档:


java.lang.Object
   ↳ android.view.View
   ↳ android.widget.TextView
   ↳ android.widget.EditText

    和Button组件一样,EditText也是TextView的子类,可以看作是TextView类的扩展组件。那么我们开始编写EditText组件的代码:
    <EditText
        android:id="@+id/edit1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/hello" />

    这是最基本的EditText组件的展示,我们可以获得如下效果:

   效果就是出现一个文本框,里面出现我们给出的默认文字。下面修改这个组件代码:
    <EditText
        android:id="@+id/edit1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:selectAllOnFocus="true"
        android:text="@string/hello" />

    我们添加了一个属性,叫selectAllOnFocus,那么值为true,也就是默认全部选中,至于显示的效果,运行代码我们就可以看到:

    不同之处就是EditText中的文本在初始状态时已经被默认全部选中了。
    我们继续来看EditText组件的配置:
    <EditText
        android:id="@+id/edit2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:enabled="false"
        android:text="http://www.google.com.hk" />

    这里我们加了一个属性是enabled,值为false,不难从字面理解就是不可以使用,那么运行效果如下:

    在Web开发中,HTML文本输入框还有一种密码输入框,这样的设置是必要的,那么在Android中,我们也有对应的属性来设置:
    <EditText
        android:id="@+id/edit3"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:inputType="textPassword"
        android:text="password" />

    这里我们加入了inputType属性,值设置为textPasswrod,那么也就是密码显示效果,文本就不会以明文效果显示出来了,而是使用原点来作为替代。这样的设置是比较新的写法,我们还可以使用来表示android:password="true"密码输入框。
    运行程序,我们得到如下的显示效果:

    现在我们已经在Android中实现了对HTML文本输入框和密码输入框的实现。在Web开发中我们有一种需求是对输入文本的限制,比如年龄输入框限制为必须是数字,而不能混合输入数字和字母等,这需要编写JavaScript代码来实现限制或是校验,但是在Android中我们可以直接做到限制效果,代码如下:
    <EditText
        android:id="@+id/edit4"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:inputType="number"
        android:text="24abc" />

    同样,还有一种老式写法为android:numeric="integer",表达的都是同样的意义,这里的取值可以有number,decimal等,具体可以参考文档去查找,或者在Eclipse中代码的提示功能也会看到。这里的默认文本我们输入24abc,带有字母,它可以正常的显示出来,但是在运行中,该输入框是不接受字母输入的,下面运行程序,我们可以看到:

    将鼠标点击在该EditText组件上,使用键盘输入,发现字母无法输入,而数字可以被接受,就是这样的效果。
    同样,我们可以在Activity程序中来进行组件的动态生成,我们编写如下代码:
package org.ourpioneer;
import android.app.Activity;
import android.os.Bundle;
import android.text.InputType;
import android.widget.EditText;
import android.widget.LinearLayout;
public class EditTextDemoActivity extends Activity {
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		super.setContentView(R.layout.main);
		LinearLayout layout = (LinearLayout) super.findViewById(R.id.layout);
		EditText edit = new EditText(this);
		edit.setInputType(InputType.TYPE_CLASS_NUMBER);
		edit.setText("2.4");
		layout.addView(edit);
	}
}

   操作步骤和之前的类似,先获取到布局管理器,之后创建一个EditText组件,然后设置inputType为数字,之后设置默认显示文本为2.4,最后将该组件加入到布局管理器之中。
    运行程序,我们就得到了最后的效果:

    同样,这里是无法接受字母输入的。
    这部分演示的代码请参考附件。
    接下文
  • 大小: 65.5 KB
  • 大小: 37.5 KB
  • 大小: 39 KB
  • 大小: 47.9 KB
  • 大小: 54.1 KB
  • 大小: 60.3 KB
  • 大小: 66 KB
5
0
分享到:
评论
4 楼 netzip 2014-02-21  
写得很好。
3 楼 jkbjxy 2013-11-13  
非常详细,继续学习
2 楼 qianguming 2013-09-29  
紧紧跟随6
1 楼 milagro 2012-08-15  
嗯 很详细 继续更新

相关推荐

    Android学习笔记四:基本视图组件:TextView

    这篇“Android学习笔记四:基本视图组件:TextView”将深入探讨TextView的相关知识点。 首先,TextView的使用非常简单,我们可以在布局XML文件中通过`&lt;TextView&gt;`标签来创建一个TextView实例。例如: ```xml ...

    Android+学习笔记

    ### Android学习笔记知识点详解 #### 一、简介与背景 Android作为全球最受欢迎的移动操作系统之一,自2007年谷歌发布以来,迅速占领市场并持续引领移动技术的发展。随着移动互联网的兴起和发展,Android应用开发...

    android 学习笔记整理

    在Android学习过程中,掌握基础知识是至关重要的。这份"android 学习笔记整理"包含了作者在学习Android时积累的详尽资料,旨在为初学者提供一个系统化的学习路径和参考资料。 首先,Android是一种开源的操作系统,...

    Android学习笔记(十):Activity-TableLayout和ScrollView.doc

    本篇笔记主要关注在Activity中如何使用TableLayout和ScrollView这两种布局组件。 TableLayout是Android中的一个布局容器,它允许开发者按照表格的形式组织界面元素。TableLayout由TableRow组成,每个TableRow则包含...

    黑马66期android学习笔记14-电话拨号器定义布局&获取组件对象

    本篇学习笔记主要探讨了如何自定义电话拨号器的布局以及如何获取布局中的组件对象,这些都是构建自定义拨号应用的关键步骤。以下将详细阐述这两个知识点。 首先,**定义布局** 是Android开发中的基础工作。在XML...

    Android学习笔记(Android Studio)2-1~2-5(LinearLayout、RelativeLayout、TextView、Button、EditText、RadioButton)

    学习这些基础知识是Android开发的起点,理解并熟练运用LinearLayout、RelativeLayout、TextView、Button和EditText等基本组件,将有助于构建功能丰富的用户界面。在实际开发中,还需要结合Activity、Intent等概念,...

    android学习笔记最新版(1-4)

    总结来说,这份"android学习笔记最新版(1-4)"全面覆盖了Android开发的起步阶段,从基本概念到实际操作,为有志于投身Android开发的新人提供了扎实的学习路径。通过系统学习并实践这些内容,不仅能够掌握Android...

    Android入门学习笔记

    Android入门学习笔记主要涵盖了Android开发的基础知识,包括平台概述、环境搭建、基本概念以及实际应用开发的各个方面。这里我们将深入探讨这些关键知识点。 一、Android平台概述 Android是由Google主导开发的一款...

    android学习笔记2

    本笔记主要围绕"android学习笔记2"展开,特别关注了如何在Android应用中集成并使用百度地图API。这是一份适合自学Android开发者的资源,旨在提升你在Android平台上的实践能力。 首先,让我们深入了解一下Android...

    android学习笔记

    ### Android学习笔记精要 #### 一、Android基础环境搭建 Android开发的初步阶段,需安装JRE(Java Runtime Environment)、JDK(Java Development Kit)、SDK(Software Development Kit)及ADT(Android ...

    Android学习入门笔记.zip

    Android学习入门笔记主要涵盖了一系列关于Android开发的基础知识,旨在帮助初学者快速掌握这一全球最流行的移动操作系统之一的编程技能。以下是一些核心知识点的详细解释: 1. **Android概述**: - Android是由...

    android开发笔记总结

    ### Android开发笔记总结 #### 学习基础 在深入探讨Android开发之前,我们先回顾...通过以上内容的学习,开发者可以更好地理解和应用Android中各种视图组件的功能与属性,从而构建出更加美观、实用的应用程序界面。

    最新最全的Android开发笔记

    笔记还深入讲解了Android的布局设计,包括XML布局文件的编写,以及如何使用各种视图控件(如TextView、EditText、Button等)构建用户界面。同时,还涵盖了ConstraintLayout、LinearLayout、RelativeLayout等布局管理...

    Android开发笔记——UI基础编程

    Android系统提供了丰富的UI组件,如TextView、EditText、Button、ImageView、RadioButton、Checkbox、Spinner等,这些都是构建应用界面的基本元素。开发者需要理解每个组件的功能、属性以及如何在XML布局文件中使用...

    android基础笔记

    Android提供了丰富的视图组件,如TextView、Button、EditText、ImageView等,用于构建用户界面。通过自定义View和ViewGroup,开发者还可以实现定制化的UI效果。 七、数据存储 Android支持多种数据存储方式,包括...

Global site tag (gtag.js) - Google Analytics