Android基本组件__文本框和编辑框

Android基本组件——文本框和编辑框  

  Android 中提供两种基本组件:

        <1>文本框(TextView),用于在屏幕显示文本 ;
        <2>编辑框(EditView),用于在屏幕显示可编辑的文本框。
        (其中,EditView是TextView的子类)

 文本框

        在Android中,文本框使用TextView表示,用于在屏幕上显示文本。于Java的文本框不同,TextView相当于Java的标签(JLable)。需要说明的是,Android中的文本框可以 显示单行文字,也可以显示多行文字,还可以显示带图像的文本 。
        在Android中,可以使用两种方法向屏幕添加文本框。
            <1>通过XML布局文件中使用标记添加
            <2>在Java文件中,使用new关键字创建。
            (推荐使用第一种方法)
    通过标记在XML布局文件中添加文本框,其基本语法为:




    TextView 支持的常用XML属性如下(常见):

XML属性 描述
android:autoLink   用于指定是否将指定格式的文本转换为可单机的超链接形式。其属性值有none、web、email、phone、map和all
android:drawableBottom  用于在文本框文本的底部绘制指定图像,改图像可以是放在res/drawable目录先的图片,通过"@drawable/文件名(不包含文件拓展名)"设置
android:drawableLeft 用于在文本框文本的左侧绘制指定图像,改图像可以是放在res/drawable目录先的图片,通过"@drawable/文件名(不包含文件拓展名)"设置
android:drawableRight   用于在文本框文本的右侧绘制指定图像,改图像可以是放在res/drawable目录先的图片,通过"@drawable/文件名(不包含文件拓展名)"设置
android:drawableTop   用于在文本框文本的顶部绘制指定图像,改图像可以是放在res/drawable目录先的图片,通过"@drawable/文件名(不包含文件拓展名)"设置
android:gravity 
用于设置文本框文本对齐方式,可选值有top、buttom、left、right、center_vertical、fill_vertical、center_horizontal、fill_horizontal、center、fill、clip_vertical和clip_horizontal等。这些属性值可以同时指定,各属性用竖线隔开。例如:要制定组件靠右下角对其,可以使用属性right|bottom。

android:hint  用于设置当前文本框内容为空时,默认显示的提示文本。
android:inputType  用于指定当前文本框显示内容的文本类型,可选值有textPassword、textEmailAddress、phone、date等,可以同时指定多个,使用“|"分割。
android:singleLine  用于指定该文本框是否为单行模式,其 值为true或者false,为true表示该文本框不会换行,当文本框中文本呢超过一行时,其超出的部分就会被省略。同时在尾部添加"..."
android:text  用于指定该文本框中显示的文本内容,可以直接在该属性中指定,也可以通过在string.xml文件中定义该文本常量的方式制定。
android:textColor   用来设置文本框中的颜色,其属性可以使#rgb、#argb、#rrggbb、#aarrggbb格式制定的颜色量
android:textSize  用来设置文本框中文本的大小,其属性由代表大小的数值和单位组成,其单位可以使px、pt、sp和in等 
 android:width  用于指定文本的宽度,以像素为单位
android:height 用于指定文本的高度,以像素为单位

实例:实现文本框中的E-mail地址添加超链接、显示带图像的文本、显示不同颜色的单行文本和多行文本。(源码下载:点击打开链接)

(1)修改新建项目目录下的res/layout中的布局文件activity_main.xml,将默认的相对布局管理器修改为线性布局管理器,并修改默认的TextView组件高度和对其中E-mail格式文本设置超链接。

修改后为:



    
    

修改res/values中的文件string.xml,添加hyperlink: 

点击进入超链接http://sina.cn

 

(2)在默认的TextView组件后面添加一个TextView组件,设置该组件显示带有图片的文本(图片在文本下方,具体代码如下):(需要拷贝图片test.png到目录“………………\workspace\Test_3_11\res\drawable-mdpi”)


(3)步骤2的 基础上添加TextView组建的后面两个TextView组件,一个设置为可多行显示文本(默认),一个设置为单行显示,并将这两个组件设置为不同颜色:


    
    
(4)最后效果:

Android基本组件__文本框和编辑框_第1张图片 

点击网址部分后,进入网页(网络连接正常情况下)

Android基本组件__文本框和编辑框_第2张图片

编辑框

在Android中,编辑框使用EditText表示,用于在屏幕上显示文本输入框,这与Java中的文本框功能类似。需要说明的是,Android中的编辑框可以输入单行文本,也可以输入多行文本,还可以输入指定格式的文本(如密码,手机号码,E-mail地址等)
    在Android中,可以使用两种方法向屏幕添加编辑框:
        <1>通过XML布局文件中使用标记添加 ;
        <2>在Java文件中,通过new关键字创建 。
        (建议使用第一种方法)
    
    基本语法为:
    

    
    
由于EditText是TextView子类,所以对于上面表格列出的XML属性,同样适用于EditText组件。需要注意的是,在EditText组件中,android:inputType属性可以帮助输入框显示合适的类型。例如,需要添加密码,可将android:inputType属性值设置为textPassword。
    在屏幕中添加编辑框后,还需要获取编辑框中的输入内容,这可以通过编辑框组件提供的getText()方法实现。通过该方法,先要获得编辑框组件,然后调用getText方法。例如,要获取布局文件中添加的id属性为login的编辑框的内容,可以通过下面方法实现:

    EditText  login = (EditText)findViewById(R.id.login)
    String loginText=login.getText().toString() ;

实例:实现会员注册界面 (源码下载:点击打开链接)

(1)修改新建项目目录下的res/layout中的布局文件activity_main.xml,将默认的相对布局管理器RelativeLayout改为表格布局管理器TableLayout,删除默认的TextView,并为该表格设置背景,在该布局中添加4个TableRow表格行。


    
    
    
    
    
    
    
    
    
    
    
    



(2)在表格的第一行,添加一个用于提示信息的文本框和输入会员昵称的编辑框,并未该行单行编辑设置提示文本,具体如下:


        
        
(3)在表格第2行,添加要给用于显示提示信息的文本框和一个输入密码的密码框,具体如下:


        
        

(4)在表格第3行,添加一个显示提示信息的文本框和一个输入密码的编辑框,具体如下:

	
        
        
(5)在表格第4行,添加一个显示提示信息的文本和一个输入邮箱的编辑框,具体如下:


        
		

(6)添加两个按钮:“注册”和“重置”


		
		

(7)在主活动的onCreate()方法中,为"注册"添加一个单机监听事件,用于在用户单机“注册”按钮后,在日志面板(LogCat)中显示输出的内容 ; 为“重置”按键注册监听事件,具体如下:

package com.example.test_3_12;  
  
import android.os.Bundle;  
import android.app.Activity;  
import android.util.Log;  
import android.view.Menu;  
import android.view.View;  
import android.view.View.OnClickListener;  
import android.widget.Button;  
import android.widget.EditText;  
  
public class MainActivity extends Activity {  
  
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.activity_main); 
        
        final EditText nicknameET=(EditText)findViewById(R.id.nickname);/*获取会员昵称编辑框组件*/ 
        final EditText accountET=(EditText)findViewById(R.id.account);  /*获取关联QQ/微信账号*/
        final EditText pwdET=(EditText)findViewById(R.id.password);     /*获取密码编辑框组件*/
        final EditText emailET=(EditText)findViewById(R.id.email);      /*获取E-mail编辑框组件*/
          
        Button button1=(Button)findViewById(R.id.button1);  
        button1.setOnClickListener(new OnClickListener() {  
              
            @Override  
            public void onClick(View v) {  
                
                String nickname=nicknameET.getText().toString();/*获取输入的会员昵称*/
                String account=accountET.getText().toString();  /*获取关联QQ/微信账号编辑框组件*/
                String pwd=pwdET.getText().toString();          /*获取输入的密码*/     
                String email=emailET.getText().toString();      /*获取输入的E-mail地址 */      
                Log.i("编辑框的应用","会员昵称:"+nickname);  
                Log.i("编辑框的应用","关联账号:"+account);  
                Log.i("编辑框的应用","密码:"+pwd);  
                Log.i("编辑框的应用","E-mail地址:"+email);                
            }  
        });  
        
        Button button2=(Button)findViewById(R.id.button2);  
        button2.setOnClickListener(new OnClickListener() {  
              
            @Override  
            public void onClick(View v) {  
            	nicknameET.setText("") ;
            	accountET.setText("") ;
            	pwdET.setText("") ;
            	emailET.setText("") ;
                Log.i("编辑框的应用","全部清空");  
               
            }  
        });  
    }  
  
}  

(8)最后效果:

Android基本组件__文本框和编辑框_第3张图片

Android基本组件__文本框和编辑框_第4张图片

点击"注册:,Log输出:

Android基本组件__文本框和编辑框_第5张图片



点击“重置”,Log输出:

Android基本组件__文本框和编辑框_第6张图片
        





你可能感兴趣的:(Android)