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());

   }

 

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值