(七)常用控件:TextView EditView

TextView

 

布局:

<TextView
        android:id="@+id/textview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:text="@string/hello_world"
        tools:context=".MainActivity" />

调用:

protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		mTextView=(TextView)findViewById(R.id.textview);获得控件
		mTextView.setText("我的第一个文本");设置文本内容
	        mTextView.setTextColor(Color.GREEN);设置字体颜色
	        mTextView.setBackgroundColor(color.black);}设置背景 这些也可在xml中设置



 

当出现URL E-mail 电话号码时,可以为TextView设置链接:

四种方法实现:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
<!-- xml属性实现,添加  android:autoLink="all"实现,为所有种类添加链接-->
    <TextView 
        android:id="@+id/tv01"        
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:autoLink="all"
        android:text="@string/first_link"
        />   
<!--通过<a>标签的string资源文件实现-->
    <TextView 
        android:id="@+id/tv02"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/second_link"
        />
<!-- 通过在java代码中使用html实现 -->    
    <TextView
        android:id="@+id/tv03"
        android:layout_width="fill_parent"
        android:layout_height="match_parent"       
        />
<!-- 通过java代码直接实现 -->
    <TextView
        android:id="@+id/tv04"
        android:layout_width="fill_parent"
        android:layout_height="match_parent"       
        />                     
</LinearLayout>
public class MainActivity extends Activity {


	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
	//设置textview可点击,实现第二种方式	
	TextView t2=(TextView)findViewById(R.id.tv02);
	t2.setMovementMethod(LinkMovementMethod.getInstance());
	//使用第三种方式实现
	TextView t3=(TextView)findViewById(R.id.tv03);
	t3.setText(
			Html.fromHtml("<b>text3:</b>"+"<a href=\"http://www.google.com\">连接到google</a>")
			);
	t3.setMovementMethod(LinkMovementMethod.getInstance());
	
	//创建一个spannablestring对象
	SpannableString ss=new SpannableString("text4:点击这里拨打电话,点击这里链接到google");
	
	ss.setSpan(new StyleSpan(Typeface.BOLD), 0, 6, 
			Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);//0-6个字符为粗体
	ss.setSpan(new URLSpan("tel:415113464"), 9, 11, 
			Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);//9-11为拨号链接
	ss.setSpan(new URLSpan("http://www.google.com"), 18, 20,
			Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);//18-20为网站链接
	ss.setSpan(new BackgroundColorSpan(Color.RED), 23, 29, 
			Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);//23-29为红色
	TextView t4=(TextView)findViewById(R.id.tv04);
	t4.setText(ss);
	//实现第四种方式
	t4.setMovementMethod(LinkMovementMethod.getInstance());
	
	}}

String:

 <string name="first_link">
   <b>第一种方式</b>
       通过xml属性实现的链接:www.google.cn,
       电话:12345645647
   </string>
   <string name="second_link">
       <b>第二种方式</b>
       <a href="http://www.google.com">google</a>
   </string>

EditText:

android:hint                         编辑框空是显示的字符

android:textColorHint           编辑框空时显示字符的颜色

android:inputType                 限制输入内容的类型,number,text等

android:digits                        限制输入内容,只可取制定的字符

android:maxLenth                 限制输入的最长字符数

android:inputType="textPassword"    输入密码模式

妈呀,一个英文的引号,写成了中文的引号了,结果出了其它一堆错误,怎么改都不对。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <TextView      
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/yh"
        />
   
    <EditText
        android:id="@+id/et"     
        android:textColorHint="#ff2323"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:hint="@string/yonhuming"/>
    
    <TextView 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/mm"
        />
    <EditText 
        android:id="@+id/et1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:inputType="textPassword"
        android:hint="@string/mima"
        />
    <TextView
        android:id="@+id/tv"
        android:layout_width="fill_parent"
        android:layout_height="match_parent"
        android:textSize="20sp"        
        />            
</LinearLayout>
package example.first;

import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnKeyListener;
import android.widget.EditText;
import android.widget.TextView;
import android.app.Activity;

public class MainActivity extends Activity {
     private EditText et;
     private EditText et1;
     private TextView tv;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		et=(EditText)findViewById(R.id.et);
		et1=(EditText)findViewById(R.id.et1);
		tv=(TextView)findViewById(R.id.tv);
		
		//设置监听器
		et1.setOnKeyListener(new OnKeyListener()
		{
			@Override
			public boolean onKey(View v,int keyCode,KeyEvent event){
				if(keyCode==KeyEvent.KEYCODE_ENTER){
					tv.setText("您的用户名为:"+et.getText().toString()+
							"\n"+"您的密码为:"+et1.getText().toString());
				}
				return false;
			}
		});
	}
		
}

运行结果:点击回车后显示用户名和密码



 

猜你喜欢

转载自ze-nana.iteye.com/blog/1684648
今日推荐