TextView 通常的用法只是进行文字的显示,但是仔细了解之后发现它可以显示图像信息。

本文将介绍此种用法:android:drawableLeft="@drawable/ic_launcher"及相应的编码方法

利用TextView 进行图像+文字的显示时,有两种方式:xml文件方式和编码方式

代码如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="wrap_content"android:orientation="vertical"android:padding="6dip"><TextView android:id="@+id/myTextView1"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="This is a TextView with an image in the left.This is a TextView with an image in the left.This is a TextView with an image in the left."android:ellipsize="end"android:maxLines="1"android:layout_marginLeft="20dp"android:drawablePadding="50dp"android:drawableLeft="@drawable/ic_launcher"/><TextView android:id="@+id/myTextView2"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="This is a TextView with an image in the left.This is a TextView with an image in the left.This is a TextView with an image in the left."android:ellipsize="end"android:layout_marginLeft="20dp"android:drawablePadding="50dp"/></LinearLayout>

该布局文件中垂直放入了两个TextView以分别对对应这两和种方式。

运行效果如下图所示:

可以看到第一TextView中显示了图像加文字(设置显示效果时注意布局文件中的其他属性)。第二个TextView 还没有通过编码设置,所以显示的只有文字。

下面通过编码的方式达到和第一个TextView 中相同的效果:

package com.demo.demotest;import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;public class MainActivity extends ActionBarActivity {private TextView myTextView2;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);init();}//初始化控件private void init(){//获取控件 并以编码的方式设置其图像myTextView2=(TextView)findViewById(R.id.myTextView2);Drawable imagmeDrawable=getResources().getDrawable(R.drawable.ic_launcher);//这一步一定要做,否则不会显示图像!!!!imagmeDrawable.setBounds(0, 0, imagmeDrawable .getMinimumWidth(), imagmeDrawable.getMinimumHeight());myTextView2.setCompoundDrawables(imagmeDrawable, null,null, null);myTextView2.setMaxLines(1);}@Overridepublic 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;}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {// Handle action bar item clicks here. The action bar will// automatically handle clicks on the Home/Up button, so long// as you specify a parent activity in AndroidManifest.xml.int id = item.getItemId();if (id == R.id.action_settings) {return true;}return super.onOptionsItemSelected(item);}
}

运行之后的效果为:

可以看出能过编码的方式也达到了相同的效果。

细心一点你会发现每一行最后都有“...”,如下图所示:

实际上是因为每一行文字都没有显示完全,而显示出来的。

这个跟TextView 的android:ellipsize属性有关系,下面介绍一下该属性。

TextView及其子类,当字符内容太长显示不下时可以省略号代替未显示的字符;省略号可以在显示区域的起始,中间,结束位置,或者以跑马灯的方式显示文字(textview的状态为被选中)。

其实现只需在xml中对textview的ellipsize属性做相应的设置即可,或者在程序中可通过setEillpsize显式设置。


android:ellipsize="start"        省略号在开头        

android:ellipsize="middle"       省略号在中间        

android:ellipsize="end"          省略号在结尾        

android:ellipsize="marquee"      跑马灯显示
注: EditText不支持marquee这种模式。Android:ellipsize属性要配合android:MaxLines=“1”一起使用才能生效,因为如果不设置android:MaxLines=“1”的话,TextView中的文字默认多行显示。

TextView 显示图像+文字的方法相关推荐

  1. android textView 替文字添加下划线 删除线

    android textView 替文字添加下划线 删除线 方法1: tv=(TextView)findViewById(R.id.tv); tv.getPaint().setFlags(Paint. ...

  2. 如何实现以上垂直方向上两个TextView内文字左右对齐

    会员号 昵    称 如何实现以上垂直方向上两个TextView内文字左右对齐呢? 网上给出了各种,什么加空格,加标点,证明没有靠谱的! 最后想到一个最简单的方式: 1. 将所有文字字符串都增加到最大 ...

  3. android 图片绑定按钮,Android编程实现给Button添加图片和文字的方法

    本文实例讲述了Android编程实现给Button添加图片和文字的方法.分享给大家供大家参考,具体如下: //为按钮添加图片和文字的方法 public Spanned getSpan(int id, ...

  4. TextView设置文字包含中英文时自动换行问题的终极解决方案

    TextView设置文字包含中英文时自动换行问题的终极解决方案 参考文章: (1)TextView设置文字包含中英文时自动换行问题的终极解决方案 (2)https://www.cnblogs.com/ ...

  5. android 怎么加链接地址,Android TextView添加超链接的方法示例

    本文实例讲述了Android TextView添加超链接的方法.分享给大家供大家参考,具体如下: public class Link extends Activity { @Override prot ...

  6. html点击后按钮本身文字变化,javascript实现点击后变换按钮显示文字的方法

    本文实例讲述了javascript实现点击后变换按钮显示文字的方法.分享给大家供大家参考.具体实现方法如下: 显示一些按钮,如果点击了, 当前点击的按钮文本变为"点了",其他按钮文 ...

  7. easyui 修改单元格内容_初学Excel办公软件快速修改文字的方法

    今天我们学习Excel办公软件快速修改文字的方法,首先我们看这个表格里面的文字很多都是相差一个字,甚至很多内容相差不大,因此我们在输入文字时就需要改进快速方法了. 首先我们根据图片来操作,我们修改红色 ...

  8. [html] 隐藏div内文字的方法有哪些?

    [html] 隐藏div内文字的方法有哪些? text-indent:-9999px; 或 line-height:0; font-size:0; overflow:hidden; 个人简介 我是歌谣 ...

  9. Android TextView 设置文字背景色或文字颜色,字体阴影,字体样式

          String str="这是设置TextView部分文字背景颜色和前景颜色的demo!";         int bstart=str.indexOf("背 ...

  10. 复制网页的同时可以把图片复制下来_用华为手机“智慧识屏”功能识别图片中文字的方法...

    我们知道图片形式的文字是无法在办公办件当中进行文字编辑的 这就需要一种方法来转换格式了 一般大家常用的转换方法是微信的"传图识字"小程序,桌面端的wps需要要注册会员还要收费. 微 ...

最新文章

  1. TensorFlow练习23: “恶作剧”
  2. php登录框注入,分享一个php的防火墙,拦截SQL注入和xss
  3. webpack的build的时候时间长处理方案
  4. Atitit。 《吠陀》 《梨俱吠陀》overview 经读后感  是印度上古时期一些文献的总称...
  5. 少儿编程150讲轻松学Scratch(十)-用scratch编程实现寻找素数
  6. Windows下卸载TensorFlow
  7. mysql配置连接远程_MySql配置远程访问
  8. 【Elasticsearch】es 插入数据 性能优化 以及 影响插入的因素
  9. linux之我常用的20条命令(之二)
  10. JSK-129 判断日期是否符合格式【入门】
  11. HDU-2161 Primes
  12. bugku 社工-初步收集
  13. adventureworks mysql_AdventureWorks相关
  14. labView2015 学习之项目创建模板篇
  15. 供应链金融之——预付款融资模式
  16. 囚徒困境困境_设计工具困境
  17. USB端口的打印机映射成LPT并口
  18. centos7安装时没有设置root密码,后期设置
  19. GIS开发常用的开源地图数据库介绍
  20. 多线程批量读取Excel 2007行数据

热门文章

  1. LinQ高级查询、组合查询
  2. spring+mybatis之声明式事务管理初识(小实例)
  3. Time Series Analysis
  4. maven,spring,mybatis集成错误
  5. 手把手教你在ubuntu上安装LAMP
  6. 多文档版的的正则表达式工具
  7. LOJ #6280. 数列分块入门 4-分块(区间加法、区间求和)
  8. 小甲鱼python视频第八讲(课后习题)
  9. jeecg团队招新人(5人)
  10. 解决VS2010链接错误:LINK fatal error LNK1123: 转换到 COFF