频道栏目
首页 > 程序开发 > 移动开发 > Android > 正文
Android应用开发之UI组件(TextView;EditText)
2011-12-17 14:20:05           
收藏   我要投稿

TextView
属性设置

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" 
 
        /> 
9-patch工具的使用

<TextView 
 
        android:id="@+id/tvBorder" 
 
        android:layout_width="wrap_content" 
 
        android:layout_height="wrap_content" 
 
        android:text="@string/link_text_manual" 
 
        android:textColor="#00FF00" 
 
        android:background="@drawable/back" /> 
EditText
基本属性的设置
输入特定字符

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

摘自 潇洒哥的专栏

点击复制链接 与好友分享!回本站首页
相关TAG标签 应用开发 组件
上一篇:Android XML解析之Pull
下一篇:android屏幕分页,页标
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站