文档章节

Android之UI学习篇二:TextVeiw显示表情和跑马灯效果

yolinfeng
 yolinfeng
发布于 2015/02/16 00:05
字数 449
阅读 86
收藏 1

给大家先看一下效果吧:


几秒后(文字在向左跑动):



以上就是实现图片和文字混排、文字跑马灯的效果实现,接下来看一下代码如何实现吧:

MainActivity.java

public class Android_TextviewActivity extends Activity {  
    private TextView textView1;  
    private TextView textView2;  
  
    @Override  
    public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.main);  
        /*  
         * 实现在TextView中显示表情图片和文本  
         * */  
        textView1=(TextView)findViewById(R.id.textview1);  
        String html2="图像1<img src='image1'>图像2<img src='image2'>";  
        html2+="图像3<img src='image3'>图像4<a href='http://www.baidu.com'>
        <img src='image4'></a>";  
        html2+="图像5<img src='image5'>";  
        CharSequence charSequence2=Html.fromHtml(html2, new ImageGetter() {  
            @Override  
            public Drawable getDrawable(String source) {  
                // TODO Auto-generated method stub  
                //获得系统资源的信息,比如图片信息  
                Drawable drawable=getResources().getDrawable(getResourceId(source));  
                //第三个图片文件按照50%的比例进行压缩  
                if(source.equals("image3")){  
                    drawable.setBounds(0, 0, drawable.getIntrinsicWidth()/2, drawable.getIntrinsicHeight()/2);  
                }else{//原大小输出  
                    drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());  
                }  
                return drawable;  
            }  
        }, null);  
        textView1.setText(charSequence2);  
        textView1.setMovementMethod(LinkMovementMethod.getInstance());  
          
        textView2=(TextView)findViewById(R.id.textview6);  
        String html3="诗圣杜甫his的合法ids分三个收视率凉快实得分是的发生的!";  
        textView2.setText(html3);  
        textView2.setMovementMethod(LinkMovementMethod.getInstance());  
    }  
      
    public int getResourceId(String name){  
        Field field;  
        try {  
            //根据资源ID的变量名称来获得Field的对象,使用反射机制来实现的  
            field = R.drawable.class.getField(name);  
            //取得并返回资源的id的字段(静态变量)的值,使用反射机制  
            return Integer.parseInt(field.get(null).toString());  
        } catch (SecurityException e) {  
            e.printStackTrace();  
        } catch (NoSuchFieldException e) {  
            e.printStackTrace();  
        }catch (Exception e) {  
            e.printStackTrace();  
        }  
        return 0;  
    }  
}

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:id="@+id/textview1"  
        android:layout_margin="10dp"  
        android:background="#FFF"/>  
       
     <TextView  
        android:layout_width="fill_parent"  
        android:layout_height="wrap_content"  
        android:id="@+id/textview2"  
        android:ellipsize="marquee"  
        android:marqueeRepeatLimit="marquee_forever"  
        android:focusable="true"  
        android:background="#FFFFFF"  
        android:textColor="#000"  
        android:textSize="20dp"  
        android:layout_margin="10dp"  
        android:padding="10dp"  
        android:focusableInTouchMode="true"  
        android:singleLine="true"/>  
  
</LinearLayout>

本文转载自:http://blog.csdn.net/wulianghuan/article/details/8583888

共有 人打赏支持
yolinfeng
粉丝 12
博文 196
码字总数 11946
作品 0
珠海
架构师
私信 提问
【Android】TextView的文字长度测量及各种padding解析

这篇博客会讲得比较杂: TextView里各种padding的含义? 如何计算每行文字的长度? 设置android:maxLines="1"和android:singleLine="true"有什么区别? 为什么设置android:maxLines="1"时TextV......

猴亮屏
2018/08/15
0
0
玩转Android 之 TextView常用特效

暑期大学生博客分享大赛 - 2011 Android 成长篇 本文参加第二届Google大学生暑期博客分享大赛 TextView是最常用的Android控件之一,显示文字时的首选,然而很多人都不满足于,TextView默认的...

cokey
2011/08/06
0
3
第一天学习Android的一些笔记

昨天学习了怎样装Android配置环境,下载SDK用了好久的时间,再加上一开始不会,弄了好长时间,今天第一天学习,跟着视频教程学的。下边是我的一些笔记,仅做留念与学习笔记 。 快捷键: 智能...

子弹兄
2014/01/16
0
0
Android中TextView如何实现水平和垂直滚动

一、只想让TextView显示一行,但是文字超过TextView的长度怎么办? 在开头显示省略号 [html] android:singleLine="true" android:ellipsize="start" 在结尾显示省略号 [html] android:singl......

mutouzhang
2014/03/15
0
0
ListView跑马灯效果

最近遇到一个问题,就是我想在listview的item项中添加从数据库返回的文本信息,但是由于文本太长,我想弄成跑马灯的效果,我在xml的配置文件中设置了 android:ellipsize="marquee",android...

张永丰
2012/05/04
930
2

没有更多内容

加载失败,请刷新页面

加载更多

CSS 选择器参考手册

CSS 选择器参考手册 选择器 描述 [attribute] 用于选取带有指定属性的元素。 [attribute=value] 用于选取带有指定属性和值的元素。 [attribute~=value] 用于选取属性值中包含指定词汇的元素。...

Jack088
今天
1
0
数据库篇一

数据库篇 第1章 数据库介绍 1.1 数据库概述  什么是数据库(DB:DataBase) 数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据...

stars永恒
今天
2
0
Intellij IDEA中设置了jsp页面,但是在访问页面时却提示404

在Intellij IDEA中设置了spring boot的jsp页面,但是在访问时,却出现404,Not Found,经过查找资料后解决,步骤如下: 在Run/Debug Configurations面板中设置该程序的Working Directory选项...

uknow8692
昨天
3
0
day24:文档第五行增内容|每月1号压缩/etc/目录|过滤文本重复次数多的10个单词|人员分组|

1、在文本文档1.txt里第五行下面增加如下内容;两个方法; # This is a test file.# Test insert line into this file. 分析:给文档后增加内容,可以用sed 来搞定;也可以用while do done...

芬野de博客
昨天
2
0
深入理解JVM—JVM内存模型

深入理解JVM—JVM内存模型 我们知道,计算机CPU和内存的交互是最频繁的,内存是我们的高速缓存区,用户磁盘和CPU的交互,而CPU运转速度越来越快,磁盘远远跟不上CPU的读写速度,才设计了内存...

onedotdot
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部