- 浏览: 249784 次
- 性别:
- 来自: 苏州
文章分类
- 全部博客 (289)
- java (72)
- oracle (3)
- mysql (5)
- spring (28)
- hibernate (2)
- osgi (0)
- linux (2)
- ExtJs (1)
- jvm (0)
- mybatis (7)
- 分布式 (11)
- MINA (6)
- apache+tomcat (13)
- js+htm (7)
- android (44)
- http (1)
- hbase+hdoop (0)
- memcache (13)
- search (27)
- 部署及性能 (12)
- mongoDB (2)
- 多线程 (12)
- 安全管理验证 (9)
- struts (1)
- webservice (0)
- easyUI (1)
- spring security (16)
- pattern (6)
- 算法 (2)
最新评论
-
lzh8189146:
CommonsHttpSolrServer这个类,现在是不是没 ...
CommonsHttpSolrServer -
xiaochanzi:
我按照你的方法试了下,tomcat6可以发布,但是访问任何网页 ...
基于内嵌Tomcat的应用开发 -
phoneeye:
麻烦你,如果是抄来的文章,请给出来源。谢谢
ant 两则技巧 -
neverforget:
转载不注明出处
Spring Security3.1登陆验证 替换 usernamepasswordfilter -
liang1022:
若不使用eclipse ,如何在命令行下 运行服务端程序 ?
WebService CXF学习(入门篇2):HelloWorld
TextView小组件的使用--附带超链接和跑马灯效果
分类: Android开发 2012-04-14 13:22 13人阅读 评论(0) 收藏 举报
转自:http://flysnow.iteye.com/blog/822358
这节主要介绍一下TextView的简单用法,以及超链接文本、跑马灯等实例。
一:新建HelloTextView 工程
创建设置如下:
Project name:HelloTextView
Build Target :android 2.2
Application name:HelloTextView
Package name:com.flysnow
create Activity:HelloTextView
min SDK 8
然后运行该应用就可以看到TextView的效果,是显示一行字:“Hello World, HelloTextView!”,这是因为新建的Hello项目自带的一个TextView。
二:分析TextView组件
TextView是Android中常用的组件之一,可以用它来显示文字,就像一个标签一样,或者你可以认为是html中的span。对于TextView我们最关心的应该是怎么设置显示的文本,怎样设置字体的大小,字体的颜色,字体的样式,
其实很简单,TextView中提供了大量的属性帮我们配置TextView。
1.修改xml配置文件实现
我们修改main.xml如下:
xml代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
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:textColor="#ff0000"
android:textSize="24sp"
android:textStyle="bold"
android:text="@string/hello"
/>
</LinearLayout>
这里增加了三个属性的设置,分别是android:textColor="#ff0000"设置字体为红色,android:textSize="24sp"设置字体为24sp, android:textStyle="bold"设置字体加粗,预览效果如下图:
看到我们的TextView的内容已经变成红色,24sp大,加粗。
2.修改java代码实现。
同样我们不修改xml文件,而是通过java编码来实现上面的图示效果,首先我们先给这个TextView分配一个id,也就是这个TextView的标记记号,方便我们找到它。在main.xml的TextView中加入android:id="@+id/text_view"就可以为该TextView分配一个id。这里@+id/是表示在R类的id类下新增常量字段,这里的常量字段是text_view。
下面修改HelloTextView类如下:
Java代码
package com.flysnow;
import android.app.Activity;
import android.graphics.Color;
import android.graphics.Typeface;
import android.os.Bundle;
import android.util.TypedValue;
import android.widget.TextView;
public class HelloTextView extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);//设置内容显示的xml布局文件
TextView textView=(TextView)findViewById(R.id.text_view);//取得我们的TextView组件
textView.setTextColor(Color.RED);//设置成红色
textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 24f);//设置成24sp
textView.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD));//加粗
}
}
最终结果和上图一样的,这说明通过代码和xml配置都可以定制TextView,但是推荐使用xml进行定制,使用java代码控制逻辑,这符合mvc模式,也符合Android的设计思想。
度量单位:
这里说一下度量单位。度量单位有很多,如px,pt,dip,sp等等。不过建议应该使用sp作为字体大小的单位,使用dip作为其他元素的单位。因为sp是刻度无关的像素,更重要的是他可以根据用户的字体大小的首选项进行缩放,这才是重要的,这样当你调整了整体的字体大小时不至于使得个别字体的大小不一致而影响美观。
三:TextView的一些有用的实例
TextView的超链接形式。我们应该都见过html中的超链接,加一个a标记就可以让一段文字变成超链接的形式,可以点击到连接的地址。那么TextView可以实现吗?作为强大的TextView当然不会忘记这一点。TextView为我们提供了android:autoLink属性,只要把他设置成“web”,那么该TextView中的是网址形式的文件就会自动变成超链接的形式。好了,耳听为虚,眼见为实,看下面的例子。修改strings.xml为:
xml代码
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">我的博客地址是:http://flysnow.iteye.com\n我的电话是:400-34534-500\n我的email是12235@163.com</string>
<string name="app_name">HelloTextView</string>
</resources>
修改main.xml为:
xml代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:id="@+id/text_view"
android:autoLink="web"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
</LinearLayout>
然后把HelloTextView类中的那一段设置文本颜色、大小和样式的代码注释掉,运行程序就会看到如下图的效果:
当我们点击蓝色的我的博客的网址的时候,Android系统就会调用默认的web浏览器打开我的博客。
有的朋友已经注意到了,文本里我还写了我的电话和email,难道TextView也支持电话和email超链接吗?没错,的确支持,当我们设置android:autoLink="phone"的时候,文本里的电话就会变成蓝色超链接形式,点击就会打开拨号界面等待你按通话键拨号,email也是同理。。
当我们把 android:autoLink换成phone的时候发现网址不超连接了,换成email也是一样。难道我们不能一下子让网址,电话,email都超链接吗?答案是肯定的,这时候我们可以把 android:autoLink设置成all,这样里面的网址、电话和email就都可以超链接了。
2.跑马丁效果。有时候我们要显示的文本较长,TextView不能完全显示,这时候可以通过这种跑马灯的方式让文本移动展示,达到了既不占用地方又能完全看到文本的目的。这里直接复用农民伯伯的跑马灯代码:
xml代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:id="@+id/text_view"
android:autoLink="all"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
android:ellipsize="marquee"
android:focusable="true"
android:marqueeRepeatLimit="marquee_forever"
android:focusableInTouchMode="true"
android:scrollHorizontally="true"/>
</LinearLayout>
android:ellipsize="marquee"
//当文字过长时以跑马灯的形式显示
android:focusable="true"
//设置是否获得焦点
android:marqueeRepeatLimit="marquee_forever"
//设置跑马灯的次数,此处指无限次
android:focusable="true"
//设置在Touch模式下是否获得焦点
android:scrollHorizontally="true"//设置是否出现横拉条
然后为TextView设置一个很长的字符串。运行就可以看到横向移动的效果。
设置的属性说明可以参考TextView的文档,这里也有中文版本:http://www.cnblogs.com/over140/archive/2010/08/27/1809745.html
这里要进行说明的是:以上设置在大部分情况下都会成功的展示跑马灯样式,但是在一些复杂的布局中就会看不到任何文字。比如我开发的Android应用“我团”,在展示团购详细信息页面,我自定义了一个标题栏让其显示团购的信息,想让其跑马灯的方式显示,但是使用了上述代码后看不到文字,其实是文字被撑下来的,这时候我们设置android:singleLine="true"以单行的方式展示就好了。所以请以后实现跑马灯效果的时候最好加上android:singleLine="true"单行展示。
分类: Android开发 2012-04-14 13:22 13人阅读 评论(0) 收藏 举报
转自:http://flysnow.iteye.com/blog/822358
这节主要介绍一下TextView的简单用法,以及超链接文本、跑马灯等实例。
一:新建HelloTextView 工程
创建设置如下:
Project name:HelloTextView
Build Target :android 2.2
Application name:HelloTextView
Package name:com.flysnow
create Activity:HelloTextView
min SDK 8
然后运行该应用就可以看到TextView的效果,是显示一行字:“Hello World, HelloTextView!”,这是因为新建的Hello项目自带的一个TextView。
二:分析TextView组件
TextView是Android中常用的组件之一,可以用它来显示文字,就像一个标签一样,或者你可以认为是html中的span。对于TextView我们最关心的应该是怎么设置显示的文本,怎样设置字体的大小,字体的颜色,字体的样式,
其实很简单,TextView中提供了大量的属性帮我们配置TextView。
1.修改xml配置文件实现
我们修改main.xml如下:
xml代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
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:textColor="#ff0000"
android:textSize="24sp"
android:textStyle="bold"
android:text="@string/hello"
/>
</LinearLayout>
这里增加了三个属性的设置,分别是android:textColor="#ff0000"设置字体为红色,android:textSize="24sp"设置字体为24sp, android:textStyle="bold"设置字体加粗,预览效果如下图:
看到我们的TextView的内容已经变成红色,24sp大,加粗。
2.修改java代码实现。
同样我们不修改xml文件,而是通过java编码来实现上面的图示效果,首先我们先给这个TextView分配一个id,也就是这个TextView的标记记号,方便我们找到它。在main.xml的TextView中加入android:id="@+id/text_view"就可以为该TextView分配一个id。这里@+id/是表示在R类的id类下新增常量字段,这里的常量字段是text_view。
下面修改HelloTextView类如下:
Java代码
package com.flysnow;
import android.app.Activity;
import android.graphics.Color;
import android.graphics.Typeface;
import android.os.Bundle;
import android.util.TypedValue;
import android.widget.TextView;
public class HelloTextView extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);//设置内容显示的xml布局文件
TextView textView=(TextView)findViewById(R.id.text_view);//取得我们的TextView组件
textView.setTextColor(Color.RED);//设置成红色
textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 24f);//设置成24sp
textView.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD));//加粗
}
}
最终结果和上图一样的,这说明通过代码和xml配置都可以定制TextView,但是推荐使用xml进行定制,使用java代码控制逻辑,这符合mvc模式,也符合Android的设计思想。
度量单位:
这里说一下度量单位。度量单位有很多,如px,pt,dip,sp等等。不过建议应该使用sp作为字体大小的单位,使用dip作为其他元素的单位。因为sp是刻度无关的像素,更重要的是他可以根据用户的字体大小的首选项进行缩放,这才是重要的,这样当你调整了整体的字体大小时不至于使得个别字体的大小不一致而影响美观。
三:TextView的一些有用的实例
TextView的超链接形式。我们应该都见过html中的超链接,加一个a标记就可以让一段文字变成超链接的形式,可以点击到连接的地址。那么TextView可以实现吗?作为强大的TextView当然不会忘记这一点。TextView为我们提供了android:autoLink属性,只要把他设置成“web”,那么该TextView中的是网址形式的文件就会自动变成超链接的形式。好了,耳听为虚,眼见为实,看下面的例子。修改strings.xml为:
xml代码
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">我的博客地址是:http://flysnow.iteye.com\n我的电话是:400-34534-500\n我的email是12235@163.com</string>
<string name="app_name">HelloTextView</string>
</resources>
修改main.xml为:
xml代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:id="@+id/text_view"
android:autoLink="web"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
</LinearLayout>
然后把HelloTextView类中的那一段设置文本颜色、大小和样式的代码注释掉,运行程序就会看到如下图的效果:
当我们点击蓝色的我的博客的网址的时候,Android系统就会调用默认的web浏览器打开我的博客。
有的朋友已经注意到了,文本里我还写了我的电话和email,难道TextView也支持电话和email超链接吗?没错,的确支持,当我们设置android:autoLink="phone"的时候,文本里的电话就会变成蓝色超链接形式,点击就会打开拨号界面等待你按通话键拨号,email也是同理。。
当我们把 android:autoLink换成phone的时候发现网址不超连接了,换成email也是一样。难道我们不能一下子让网址,电话,email都超链接吗?答案是肯定的,这时候我们可以把 android:autoLink设置成all,这样里面的网址、电话和email就都可以超链接了。
2.跑马丁效果。有时候我们要显示的文本较长,TextView不能完全显示,这时候可以通过这种跑马灯的方式让文本移动展示,达到了既不占用地方又能完全看到文本的目的。这里直接复用农民伯伯的跑马灯代码:
xml代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:id="@+id/text_view"
android:autoLink="all"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
android:ellipsize="marquee"
android:focusable="true"
android:marqueeRepeatLimit="marquee_forever"
android:focusableInTouchMode="true"
android:scrollHorizontally="true"/>
</LinearLayout>
android:ellipsize="marquee"
//当文字过长时以跑马灯的形式显示
android:focusable="true"
//设置是否获得焦点
android:marqueeRepeatLimit="marquee_forever"
//设置跑马灯的次数,此处指无限次
android:focusable="true"
//设置在Touch模式下是否获得焦点
android:scrollHorizontally="true"//设置是否出现横拉条
然后为TextView设置一个很长的字符串。运行就可以看到横向移动的效果。
设置的属性说明可以参考TextView的文档,这里也有中文版本:http://www.cnblogs.com/over140/archive/2010/08/27/1809745.html
这里要进行说明的是:以上设置在大部分情况下都会成功的展示跑马灯样式,但是在一些复杂的布局中就会看不到任何文字。比如我开发的Android应用“我团”,在展示团购详细信息页面,我自定义了一个标题栏让其显示团购的信息,想让其跑马灯的方式显示,但是使用了上述代码后看不到文字,其实是文字被撑下来的,这时候我们设置android:singleLine="true"以单行的方式展示就好了。所以请以后实现跑马灯效果的时候最好加上android:singleLine="true"单行展示。
发表评论
-
android之ConnectivityManager简介,网络连接状态
2012-09-13 10:56 903转发:http://blog.csdn.net/chenzhe ... -
解决Android布局中ScrollView与ListView的冲突
2012-08-27 09:25 708http://06peng.com/read.php/7.ht ... -
APK_获取Android的APK包签名信息
2012-08-02 14:09 1247http://blog.csdn.net/jiguanghov ... -
Android系列之Android 命令行手动编译打包详解
2012-08-01 22:08 871http://blog168.chinaunix.net/sp ... -
Android屏幕锁定详解(一)
2012-06-17 21:35 781http://mzh3344258.blog.51cto.co ... -
android 获取手机通讯录信息
2012-06-15 17:28 1073android 获取手机通讯录信息 博客分类: androi ... -
Android Intent.ACTION_CHOOSER 与 Intent.ACTION_PICK_ACTIVITY
2012-06-15 14:02 1397http://blog.csdn.net/feng88724/ ... -
Android绘制进阶之一:图形的绘制
2012-06-15 11:28 711http://mikewang.blog.51cto.com/ ... -
Android画图之Matrix(一)
2012-06-14 16:53 676http://chroya.iteye.com/blog/71 ... -
Android Bitmap和Canvas学习笔记 Android Bitmap和Canvas学习笔记
2012-06-14 14:04 691http://www.pin5i.com/showtopic- ... -
Paint类介绍
2012-06-14 13:41 660** * Paint类介绍 * ... -
Android Activity和Intent机制学习笔记 打电话,发短信等练习
2012-06-12 13:22 1069http://ycl248.blog.163.com/blog ... -
taskAffinity属性
2012-06-12 13:22 651taskAffinity属性 分类: Android 2011 ... -
区分Activity的四种加载模式----以及Intent的setFlags
2012-06-12 13:22 668区分Activity的四种加载模式----以及Intent的s ... -
android 自带的主题 theme 的使用
2012-06-12 13:22 1108android 自带的主题 theme 的使用 2011 ... -
EditText使用详解
2012-06-07 08:40 822EditText使用详解 分类: ... -
(转)解决requestFocus后依旧无法获得焦点问题
2012-06-07 08:40 1392(转)解决requestFocus后依旧无法获得焦点问题 博 ... -
android 在程序中开启GPS功能
2012-06-07 08:40 1037android 在程序中开启GPS功能 LocationMan ... -
转到手机设置界面
2012-06-06 16:34 0//转到手机设置界面 Intent intent=new In ... -
详解android:scaleType属性
2012-06-12 13:22 595详解android:scaleType属性 博客分类: An ...
相关推荐
Android TextView小组件的使用--附带超链接和跑马灯效果源代码 对应博客地址http://blog.csdn.net/michael__li/article/details/6941388
TextView循环改变大小的跑马灯效果
通过改变TextView实现跑马灯效果,并且触摸滑动时可以拖动文字.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
实现textView 跑马灯效果
简单的textview 跑马灯效果 可直接使用
跑马灯效果MarqueTextView textview 循环 跑马灯效果.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
遇到一行文字过长不能全部显示时,需要滚动显示,可下载此代码,研究跑马灯效果的实现方法。
Android高级应用源码-跑马灯效果MarqueTextView textview 循环 跑马灯效果.zip
android TextView 跑马灯效果; 具体说明可以看这里 http://blog.csdn.net/q610098308/article/details/49451537
textView实现的跑马灯效果,仅供各路大神检阅......
TextView的超链接字和不同色彩效果.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
textview跑马灯效果,文字滚动效果
android三种方式实现TextView跑马灯效果
本代码,实现TextView的文字滚动播放效果,跑马灯特效,构成简约实用,感觉好点赞
前面我的博客中有一篇就是用Android自带的跑马灯效果的,但是基于不同的使用效果,这里在网上找到了一个更好的方法。沿用了作者的一些方法,但是添加了更好的扩展功能,和大家一起分享。这里面有控制往左往右两个...
老罗视频代码textview跑马灯效果,
advanced-textview各种高级功能的textview.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
跑马灯效果MarqueTextView textview 循环 跑马灯效果.7z
有两个textview,一个显示短文本,一个显示长文本,通过点击箭头,动态的显示哪个textview.
自定义TextView实现竖直跑马灯效果,特殊字符串改变颜色