TextView和EditText的介绍

    今天是学习android的第七天,也意味着过去一周了,还有四周就放年假了,想到这心情就异常激动,但是还得静下心好好学习android,现在虽说所学的都是android初步入门,但要想在android之路上好好的走下去,就必须将基础打牢,我想这些道理不用我说大家也都懂,但我还是得唠叨一遍!!!好了,废话不多说了,以下是我对今日学习的总结:

UI组件详解1—TextView和EditText

TextView(文本视图

TextView的直接子类包括Button,CheckedTextView、Chroonometer、DigitalClock、EditText

间接子类有:AutoCompleteTextView、CheckBox、CompoundButton、ExtractEditText、MultiAutoCompleteTextView、RadioButton、ToggleButton

其xml属性有很多,一下将对其最常用的android:autoLink属性进行介绍:

autoLink属性可选值有(none/web/email/phone/map/all)

下面举实例来演示:

属性设置

android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:id="@+id/autotx"

       

注意:setText()或setTextColor()方法的参数是一个int值还是一个资源地址

 

android:autoLink

    <TextView

        android:id="@+id/tvWebUrl"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:autoLink="web" />

 

    <TextView

        android:id="@+id/tvEmail"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:autoLink="email" />

 

    <TextView

        android:id="@+id/tvPhone"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:autoLink="phone" />

 

    <TextView

        android:id="@+id/tvMap"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:autoLink="map" />

 

    <TextView

        android:id="@+id/tvAll"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:autoLink="all"

        android:text="你好,很高兴认识你,我的博客:http://blog.csdn.net/jiahui524。 手机号码:15580974038.邮箱:272570596@qq.com" />

 

    <TextView

        android:id="@+id/tvHtml"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content" />

 

    <TextView

        android:id="@+id/tvHtml1"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:text="@string/link_text_manual" />

 

    private void findViews(){

      TextView tvWebUrl = (TextView)findViewById(R.id.tvWebUrl);

      tvWebUrl.setText("网易:http://www.163.com");

     

      TextView tvEmail,tvPhone, tvMap ,tvHtml;

     

      tvEmail = (TextView) this.findViewById(R.id.tvEmail);

      tvPhone =  (TextView) this.findViewById(R.id.tvPhone);

      tvMap = (TextView) this.findViewById(R.id.tvMap);

      tvHtml = (TextView)this.findViewById(R.id.tvHtml);

     

      tvEmail.setText("我的邮箱:drinkeye@163.com");

      tvPhone.setText("我的电话:500000");

     

      tvHtml.setText(Html.fromHtml("<font size='33' color='#333333'>我<i>爱</i>北</font>京天<b>安</b>门/n <br/>" +

           "<a href='http://www.163.com'>163</a>"));

    }

 

<string name="link_text_manual">

作者博客:

<a href="http://nokiaguy.blogjava.net">

http://nokiaguy.blogjava.net

</a>

</string>

 

 

注意:

android:autoLink=”email”:会出现unsupported action,可能是模拟器bug,须探究

 

另外使用Html.fromHtml时,超链接只具备外观,不能跳转

 

带边框的TextView

自定义带边框的TextView

package cn.class3g.activity;

 

import android.content.Context;

import android.graphics.Canvas;

import android.graphics.Paint;

import android.util.AttributeSet;

import android.widget.TextView;

 

public class BorderTextView extends TextView {

 

   public BorderTextView(Context context, AttributeSet attr) {

     super(context,attr);

   }

 

   public void onDraw(Canvas canvas) {

     super.onDraw(canvas);

 

     Paint paint = new Paint();

 

     paint.setColor(android.graphics.Color.GREEN);

     canvas.drawLine(0, 0, this.getWidth() - 1, 0, paint);

     canvas.drawLine(0, 0, 0, this.getHeight() - 1, paint);

     canvas.drawLine(this.getWidth() - 1, 0, this.getWidth() - 1,

          this.getHeight() - 1, paint);

     canvas.drawLine(0, this.getHeight() - 1, this.getWidth() - 1,

          this.getHeight() - 1, paint);

   }

}

 

    <cn.class3g.activity.BorderTextView

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:gravity="center"

        android:padding="30dp"

        android:text="xxxxxxxxxxxxx"

        />

 

好了,对TextView的介绍就到此接下来介绍EditText(编辑文本)组件

直接子类:

AutoCompleteTextView, ExtractEditText 

间接子类:

MultiAutoCompleteTextView

其xml属性亦是许多,一下仅对其几个常用属性进行介绍:

输入特定字符

    <EditText

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:password="true"

        android:digits="01234" />

 

    <EditText

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:digits="abcd" />

 

    <EditText

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:inputType="number" />

 

    <EditText

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:inputType="textEmailAddress" />

 

    <EditText

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:numeric="decimal|signed" />

 

EditText中回车键的使用

为EditText对象的注册OnKeyListener事件,实现onKey()方法

    <EditText

        android:id="@+id/text1"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:text="text1" />

 

    <Button

        android:id="@+id/button1"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:visibility="gone"

        android:text="Button" />

 

 

et.setOnKeyListener(this);

… 

public boolean onKey(View view, int keyCode, KeyEvent event) {

     if (keyCode == KeyEvent.KEYCODE_ENTER) {

        btn.setText(et.getText());

        et.setVisibility(View.GONE);

        btn.setVisibility(View.VISIBLE);

     }

 

     return true;

   }

在虚拟机上运行效果图:

运行后:                          敲击回车后:

     

 

自动完成输入内容的组件

l      AutoCompleteTextView

l      MultiCompleteTextView

 

    <AutoCompleteTextView

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:id="@+id/autotx"

        />

   

      <MultiAutoCompleteTextView

          android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:id="@+id/mautotx"

        />

 

   public void onCreate(Bundle savedInstanceState) {

     super.onCreate(savedInstanceState);

     setContentView(R.layout.hide);

 

     btn = (Button) this.findViewById(R.id.button1);

     et = (EditText) this.findViewById(R.id.text1);

     et.setOnKeyListener(this);

 

     autotx = (AutoCompleteTextView) this.findViewById(R.id.autotx);

     String[] s={"a","abc","ab","b","bc","bdad"};

    

     ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line,s);

    

     autotx.setAdapter(adapter);

       

     mautotx = (MultiAutoCompleteTextView) this.findViewById(R.id.mautotx);

     mautotx.setAdapter(adapter);

     mautotx.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());

   }

 

 

 

### 回答1: TextViewEditText都是Android中的控件,但它们的作用不同。 TextView是用来显示文本的控件,它只能显示文本,不能进行编辑。一般用于显示静态文本,如标题、说明、提示等。 EditText是用来输入和编辑文本的控件,用户可以在EditText中输入和编辑文本内容。一般用于需要用户输入或编辑文本的场景,如登录、注册、搜索等。 因此,TextViewEditText的区别在于一个是用来显示文本,一个是用来输入和编辑文本。 ### 回答2: TextViewEditText都是在Android平台上经常使用的控件,它们都继承自View类,但它们有明显的区别。 TextView是文本显示控件,用于在界面上显示文本信息。它可以用于显示静态文本,文本不可编辑。TextView有多种属性样式可以设置,比如字体大小、颜色、字体样式等等,可以通过代码或者XML布局文件设置。TextView可以用于在应用程序中显示文字、数字或者图片等,但不能对它们进行编辑和保存。 EditText是文本编辑控件,可用于用户对文本进行输入和编辑。它有多种编辑功能,如滚动、选中、复制、粘贴和撤销等。EditText可以输入任意类型的文本,包括数字、符号、富文本等,同时也可以设置文本的外观和行为,比如输入法、文本样式、输入格式等等。 因此,TextViewEditText的主要区别在于: 1. 功能不同:TextView用于显示文本内容,而EditText则用于编辑文本内容。 2. 操作方式不同:TextView只能观看,不与用户交互,不支持编辑;而EditText则可以接收用户的输入和编辑操作,用户可以随时编辑文本。 3. 属性不同:TextView主要用于显示文本的外观和样式,而EditText除此之外还会有其他的功能和属性,比如光标、选择、复制、粘贴等等。 总的来说,TextViewEditTextAndroid中两个非常重要的控件,但它们具有不同的功能和用途,开发者需要根据具体需求来选择使用。在应用程序开发中,TextView主要用于展示静态文本内容,而EditText则用于实现用户可编辑的文本输入区域。 ### 回答3: TextViewEditTextAndroid 开发中使用较为频繁的两个控件,它们都是用于显示文本内容的控件,但在使用上却又存在着一些区别。下面就来简单介绍一下它们之间的区别: 1. 输入功能:TextView 是不可输入的,它只用来展示文本内容;而 EditText 则是一个可编辑的文本框,用户可以在其中输入自己的文字,比如用户名、密码等等。 2. 光标和选中状态:TextView 没有光标和选中状态,而 EditText 中的光标可以显示在文本框中,用户可以通过拖曳光标来调整输入的位置。在 EditText 中,还可以通过鼠标或手指对文本框的内容进行选中、复制、剪切和粘贴等操作。 3. 文本样式:TextView 可以设置不同的字体、字号、颜色等文本样式,以更好地展示文本内容;而 EditText 在样式上与 TextView 差不多,但它还可以设置输入类型,如数字、电话号码、邮件地址等。 4. 接受输入事件:在使用 EditText 时,可以为它设置输入监听器,当用户在文本框中输入内容时,监听器就会触发相应的事件。而对于 TextView,由于它只是用于展示文本内容,所以没有接受用户输入事件的功能。 综上所述,TextViewEditText 在功能上存在着较大的区别。如果你只是需要展示一段文本内容,那么使用 TextView 就可以了;但如果需要用户输入一些内容,就要使用 EditText 了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值