1.用TextView显示url,邮箱,电话号码
package com.example.android_textview01; import android.os.Bundle; import android.app.Activity; import android.text.Html; import android.text.method.LinkMovementMethod; import android.view.Menu; import android.widget.TextView; public class MainActivity extends Activity { private TextView textView1; private TextView textView2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView1=(TextView) findViewById(R.id.textView1); textView2=(TextView) findViewById(R.id.textView2); String html="<font color='red'><h3>I love android<h3></font><br>"; html+="<font color='#0000ff'<big><i><h2>I love android<i><h2><big></font><p>"; html+="<big><a href='www.baidu.com'></a></big>"; CharSequence charS=Html.fromHtml(html); textView1.setText(charS); textView1.setMovementMethod(LinkMovementMethod.getInstance()); String text="我的url:www.sina.cn\n"; text+="email:43232@qq.com \n"; text+="tel:15538372152\n"; text+="我的姓名:刘明"; textView2.setText(text); textView2.setMovementMethod(LinkMovementMethod.getInstance()); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
2.在TextView中显示图片表情
package com.example.android_textview02; import java.lang.reflect.Field; import android.os.Bundle; import android.app.Activity; import android.graphics.Color; import android.graphics.drawable.Drawable; import android.text.Html; import android.text.Html.ImageGetter; import android.text.method.LinkMovementMethod; import android.view.Menu; import android.widget.TextView; public class MainActivity extends Activity { /** * 通过反射取得图片id * @param name * @return */ public static int getResourceId(String name){ try { Field field=R.drawable.class.getField(name); return Integer.parseInt(field.get(null).toString()); } catch (Exception e) { // TODO: handle exception } return 0; } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TextView textView=(TextView) findViewById(R.id.textView); textView.setBackgroundColor(Color.WHITE); textView.setTextColor(Color.BLACK); textView.setTextSize(20); String html="图片1<img src='pic1'/>图片2<img src='pic2'/>图片3<img src='pic3'/>"; html+="图片4<a href='http://www.baidu.com'><img src='pic4'/></a>"; CharSequence charSequence=Html.fromHtml(html, new ImageGetter() { public Drawable getDrawable(String source) { // TODO Auto-generated method stub Drawable drawable=getResources().getDrawable(getResourceId(source)); if(source.equals("pic3")){ drawable.setBounds(0, 0, drawable.getIntrinsicWidth()/2, drawable.getIntrinsicHeight()/2); } else{ drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight()); } return drawable; } }, null); textView.setText(charSequence); textView.setMovementMethod(LinkMovementMethod.getInstance()); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
3.用TextView实现activity的跳转
package com.example.android_textview03; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.text.Spannable; import android.text.SpannableString; import android.text.method.LinkMovementMethod; import android.text.style.ClickableSpan; import android.view.Menu; import android.view.View; import android.widget.TextView; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TextView textView1 = (TextView) findViewById(R.id.textView1); TextView textView2 = (TextView) findViewById(R.id.textView2); String text1 = "Activity1"; String text2 = "Activity2"; SpannableString spannableString1 = new SpannableString(text1); SpannableString spannableString2 = new SpannableString(text2); spannableString1.setSpan(new ClickableSpan() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub Intent intent1 = new Intent(MainActivity.this, Activity1.class); startActivity(intent1); } }, 0, text1.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); spannableString2.setSpan(new ClickableSpan() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub Intent intent2 = new Intent(MainActivity.this, Activity2.class); startActivity(intent2); } }, 0, text1.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); textView1.setText(spannableString1); textView2.setText(spannableString2); textView1.setMovementMethod(LinkMovementMethod.getInstance()); textView2.setMovementMethod(LinkMovementMethod.getInstance()); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
4.用TextView实现跑马灯效果,并可以点击超链接(超链接不行啊。。。。)
private TextView textView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //实现方式一: // String text="北京青年报记者体验下载“96106易达打车”、“96106移步叫车”、“96106嘀嘀打车”和"; // textView=(TextView)findViewById(R.id.tv); // textView.setText(text); //实现方式二: //添加HTML标签<a></a>可以设置超链接 String text="北京青年报记者体验下载“96106易达打车“<a href='http://www.baidu.com'>“96106移步叫车”</a>、" + "“96106嘀嘀打车”和"; CharSequence charSequence=Html.fromHtml(text); textView=(TextView)findViewById(R.id.tv); textView.setText(charSequence); textView.setMovementMethod(LinkMovementMethod.getInstance()); } 布局文件: <TextView android:id="@+id/tv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:singleLine="true" android:ellipsize="marquee" android:marqueeRepeatLimit="marquee_forever" android:focusable="true" android:focusableInTouchMode="true" android:background="#FFFFFF" android:textColor="#000" android:textSize="20dp" android:layout_margin="10dp" /> <!-- 属性解析 singleLine 要实现跑马灯则TextView单行显示 ellipsize 显示的效果,有四个值 |——start 省略号在开头 |——middle 省略号在中间 |——end 省略号在结尾 |——marquee 跑马灯显示 marqueeRepeatLimit 跑马灯重复的限制 focusable 是否触发焦点,即TextView能否点击 focusableInTouchMode 设置焦点的联系方式,在模拟器中没有这个属性则没有跑马灯效果。 -->
TextView
最新推荐文章于 2020-03-13 12:55:24 发布