Android之UI组件TextView的属性大集合
来源:互联网 发布:.手机域名在哪注册 编辑:程序博客网 时间:2024/05/16 10:04
Android之UI组件TextView的属性大集合
下载原码地址:http://download.csdn.net/detail/rhljiayou/3917103
1、先展示项目结构图:
主界面:
链接手机/网页/邮件/地址的界面效果:
文本显示内容处理界面:
TextView显示图片的界面:
2、主界面很简单就三个按钮事件
package cn.csdn.activity;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class TextViewLianxiActivity extends Activity {Button button1=null;Button button2=null;Button button3=null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); findViews(); /**手机/网页/邮件/地址/全部**/ button1.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Intent intent=new Intent();intent.setClass(TextViewLianxiActivity.this, AddressTextView.class);startActivity(intent);}}); /**文本内容处理**/button2.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Intent intent=new Intent();intent.setClass(TextViewLianxiActivity.this, FontTextView.class);startActivity(intent);}});/**显示图片和背景图片**/button3.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Intent intent=new Intent();intent.setClass(TextViewLianxiActivity.this, ImageTextView.class);startActivity(intent);}}); }private void findViews() {button1=(Button) findViewById(R.id.button1);button2=(Button) findViewById(R.id.button2);button3=(Button) findViewById(R.id.button3);}}main.xml文件很简单:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/test" /> <Button android:id="@+id/button1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="链接手机/网页/邮件/地址" /> <Button android:id="@+id/button2" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="文本显示内容处理" /> <Button android:id="@+id/button3" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="TextView中显示图片" /></LinearLayout>
链接手机/网页/邮件/地址的xml代码如下:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <!-- 网页 --> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:autoLink="web" android:text="@string/webUrl" /> <!-- 邮箱 --> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:autoLink="email" android:text="@string/email" /> <!-- 手机号码 --> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:autoLink="phone" android:text="@string/phoneNumber" /> <!-- 以上全部 --> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:autoLink="all" android:background="#00ff00" android:text="@string/autoAll" /> <!-- 地图地址 --> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:autoLink="map" android:text="@string/mapUrl" /> <!-- 用html显示超连接 --> <TextView android:id="@+id/tvHtml" android:layout_width="fill_parent" android:layout_height="wrap_content" /></LinearLayout>
AddressTextView代码:
package cn.csdn.activity;import android.app.Activity;import android.os.Bundle;import android.text.Html;import android.widget.TextView;public class AddressTextView extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);this.setContentView(R.layout.address);TextView view=(TextView) findViewById(R.id.tvHtml);String string="<a href='#'>这是用html超链接实现的</a>";view.setText(Html.fromHtml(string));}}
注意:
android:autoLink=”email” :会出现unsupported action,可能是模拟器bug,须探究
另外使用Html.fromHtml时,超链接只具备外观,不能跳转
谷歌地图:
设置 android:autoLink="map"后需要有google地图才可以 否则会报错
文本显示内容处理界面xml的代码:
可以在textView中设置我们想要的任何效果
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="正常的文本内容" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:textStyle="italic" android:textColor="#ff0000" android:text="倾斜的带颜色的字体" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="#00ff00" android:textStyle="bold" android:textSize="30dp" android:text="加粗,背景颜色,字体30dp" /><TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="使文字显示*的字体"/> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="#ffffff" android:text="使文字显示*的字体" android:password="true"/> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:textSize="20dp" android:text="只显示一行字符串超出屏幕为'...'dsfusdiofjdsiofjsdiofjoisdjfiosdjfoisdjfoisdf" android:singleLine="true" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:textSize="20dp" android:text="字符串超出屏幕为 换行显示这些 字符串 d" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:textScaleX="0.5" android:textColor="#ff0000" android:text="红色字体设置显示文字的间隔为0.5" /><TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:textScaleX="2.0" android:textColor="#ff0000" android:text="红色字体设置显示文字的间隔为2.0" /> <TextView android:layout_width="200px" android:layout_height="wrap_content" android:textSize="20dp" android:ellipsize="marquee" android:marqueeRepeatLimit="marquee_forever" android:focusable="true" android:focusableInTouchMode="true" android:scrollHorizontally="true" android:text="文字滚屏文字跑马灯效果文字滚屏文字跑马灯效果" /> <cn.csdn.activity.BorderTextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:padding="10dp" android:text="带边框的文字"/></LinearLayout>
解释一下跑马灯效果的一些属性:
- android:ellipsize="marquee"
- textview中样式是跑马灯效果。
- android:marqueeRepeatLimit="marquee_forever"
循环次数,这里是无限循环,可以根据需要写具体的次数,例如5。
- android:singleLine="true"
textview中字体单行显示,否则会换行,不会出现跑马灯效果。
- android:focusable="true"
- android:focusableInTouchMode="true"
使textview获取焦点,这样字体就会自动滚动。
上面带边框的BorderTextView是自己定义好的代码如下:
package cn.csdn.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 attrs) {super(context, attrs);}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);}}
写好这段代码只要在xml文件用就行了;
TextView显示图片:
通过设置背景的方式显示
android:background="@drawable/icon"
设置图片在textView的锚点位置
android:drawableBottom="@drawable/icon"
android:drawableTop="@drawable/icon"
android:drawableLeft="@drawable/icon"
android:drawableRight="@drawable/icon"
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/icon" android:orientation="vertical" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:drawableTop="@drawable/icon" android:textColor="#ff0000" android:textSize="20dp" android:text="图像在文字上方"/><TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:drawableBottom="@drawable/icon" android:textColor="#ff0000" android:textSize="20dp" android:text="图像在文字下方"/><TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:drawableLeft="@drawable/icon" android:textColor="#ff0000" android:textSize="20dp" android:text="图像在文字左方"/><TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:drawableRight="@drawable/icon" android:textColor="#ff0000" android:textSize="20dp" android:text="图像在文字右方"/><TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/icon" android:textColor="#ff0000" android:textSize="20dp" android:gravity="center" android:text="文字在图片上中间"/></LinearLayout>ok!!代码到此为止,好多属性需要自己查文档来自己学习,这只是一部分属性!!
大家可以下载源代码来研究一下!!
http://download.csdn.net/detail/rhljiayou/3917103
- Android之UI组件TextView的属性大集合
- Android的UI组件之TextView、EditText
- Android UI之TextView组件
- Android开发之UI组件TextView
- 【Android 应用开发】Android UI 设计之 TextView EditText 组件属性方法最详细解析
- Android之UI设计TextView属性
- Android UI 之TextView控件属性列表
- Android UI 设计之 TextView EditText 组件属性方法最详细解析
- Android UI 设计之 TextView EditText 组件属性方法最详细解析
- Android之TextView组件相关属性详解
- Android自学笔记之UI组件:TextView组件
- Android UI设计之<四>自定义TextView属性,实现带边框效果的TextView
- android之TextView的属性
- Android常用UI组件 - TextView
- Android应用开发之UI组件(TextView;EditText)
- android入门(一)---UI组件之文本框(TextView)
- Android--UI之TextView
- Android--UI之TextView
- java通过DOM接口访问XML文档
- android进入Activity阻止键盘自动弹出
- 项目Scrum历程随手记 - 第一次Scrum Sprint Meeting
- 常见网络词汇
- Linux Qt应用程序的守护精灵
- Android之UI组件TextView的属性大集合
- Fundamental I 02 Getting started with Oracle Server
- Android开发——UI组件详解及注册提交表单实现
- C++ strlen 与 sizeof 的深度认识
- [Delphi]ListView基本用法大全
- SDK编程笔记 — 计时器篇
- GDI制作验证码cs代码
- 中序遍历的非递归版本
- js取消超链接