项目中有一个点赞功能,点赞的小图标添加在点赞列表旁边,在xml里可以进行设置,也可以在代码中进行绘图。

下面是两种方法的设置:

1、xml里:一些控件:button、textView等等里面有个属性是android:drawableLeft 就可以将pic设置到text的左边。good....

2、代码中:

TextView txtlikedList = new TextView(this.getContext());
Drawable drawable= getResources().getDrawable(R.drawable.like_solid); /// 这一步必须要做,否则不会显示.
drawable.setBounds(0, 0, 25, 25); //setBounds (int left, int top, int right, int bottom) ,Specify a bounding rectangle for the Drawable, 开始绘制drawable txtlikedList.setCompoundDrawables(drawable,null,null,null); //setCompoundDrawables (Drawable left, Drawable top, Drawable right, Drawable bottom) , 将图片添加在textview的左、上、右、下
SpannableStringBuilder strNameSpan = setUserStyle(like_users);//点赞的用户设置字体颜色
txtlikedList.setText(strNameSpan); // 将richtext设置进textview
linearComment.addView(txtlikedList); //整个布局添加这个包含了图片的textView

由于我的点赞用户是动态添加的,就是一触碰点赞这个imageButton,点赞的那个textview就会添加上新的用户。用了上述两种方法,动态的点赞,结果造成了随着点赞用户数目的变化,那个点赞的小图标就会跟着上下移动!始终位于这个textview的左中间的位置。。。根本原因还是因为这个image就处于整个textview里面,它和文本是一体的,所以当然为了配合文本数量的变化来点位置变化了。。

这可不是最终的效果,应该是点赞的小图标不动,任凭右边的文本内容变化。因此上述方法适用于一些简单的固定的图片+控件(textview、button)的使用。我这里还是老老实实的将左边这个图片、textview分开吧。。。并且我点赞用户追加的时候,在点赞监听器里,richtext本来就有append()方法,然后在textview里再set一下就ok了

并且textview里的文本还会自动换行,不用考虑动态添加控件自动换行的问题,good。。

Android控件上添加图片的更多相关文章

  1. 在RichTextBox控件中添加图片和文字

    public void SetText(RichTextBox rtb) { rtb.Text = "在RichTextBox控件中添加图片和文字" + Environment.N ...

  2. 在GridControl控件上绑定图片的几种操作方式

    我们知道,基于DevExpress的开发Winform的项目界面的时候,GridControl控件是经常用来绑定数据的,一般以常规的字符内容为主,有时候也会有图片的显示需要,那么如果显示图片,我们应该 ...

  3. 对话框上动态控件的创建、在Picture Control控件上显示图片

    1  MFC对话框之上的动态控件的创建 对话框上的控件是MFC类的一个具体对象. 当在对话框之上使用静态控件时,可以根据类向导来为每个控件添加消息.响应函数以及变量. 当需要在对话框中动态的创建某个控 ...

  4. 保存图片控件上的图片到本地 出现错误:无法将类型为“System.Windows.Media.Imaging.BitmapFrameDecode”的对象强制转换为类型“System.Windows.Media.Imaging.BitmapImage”。

    保存图片控件上的图片到本地 出现错误:无法将类型为“System.Windows.Media.Imaging.BitmapFrameDecode”的对象强制转换为类型“System.Windows.M ...

  5. 在WPF控件上添加Windows窗口式调整大小行为

    起因 项目上需要对Canvas中的控件添加调整大小功能,即能在控件的四个角和四条边上可进行相应的拖动,类似Windows窗口那种.于是在参考以前同事写的代码基础上,完成了该功能. 代码实现 Adorn ...

  6. 怎么为android控件边缘添加阴影

    为控件设置一个有阴影感的背景图片即可,可以使用shape 在自定义shape中增加一层或多层,并错开,即可显示阴影效果.为增加立体感,按钮按下的时候,只设置一层.我们可以通过top, bottom, ...

  7. Android 控件背景选择图片还是drawable XML资源

    决定一个控件应该是否用Drawable XML渲染,应考虑以下几个因素: * App是否要支持多分辨率: * App是否有瘦身的需要: * 图案是否足够简单: * 图案需要自由缩放: * 设计开发工作 ...

  8. C#如何在panl控件上添加Form窗体

    . if (treeView1.SelectedNode.Text == "个人信息") { Form1 f4 = new Form1(); f4.TopLevel = false ...

  9. 张奎师弟参与devexpress chartControl绘图--解决了devexpress的chartControl控件不能添加系列的问题

    using DevExpress.XtraCharts; using System; using System.Collections.Generic; using System.ComponentM ...

随机推荐

  1. Chapter 1 First Sight——23

    I stared because their faces, so different, so similar, were all devastatingly, inhumanly beautiful. ...

  2. PHP开源CRM-推荐几个

    http://www.xinyou88.com/about/xcrm.html 因为医院要同步用户到诊统计的信息.是拿着表单来回送.途中大概有20分钟左右.有些机器和互联网可以搞定的事情.人力来做.在 ...

  3. jQuery两种扩展插件的方式

    <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...

  4. Android Camera Api的心得

    (一) 前言最近看Camera的api,觉得写的真的不错.现在翻译过来,给大家分享分享,译文可能不太好,大家将就着看哈. (二) 正文1. CameraCamera是Android framework ...

  5. StretchAnimation伸缩动画.

    原理是继承animation  然后改变他的margintop  和marginbottom  形成2个效果 ExpandTopAnimation public class ExpandTopAnim ...

  6. YModem协议

    源:YModem协议 YModem协议: YModem协议是由XModem协议演变而来的,每包数据可以达到1024字节,是一个非常高效的文件传输协议. 下面先看下YModem协议传输的完整的握手过程: ...

  7. c++ 显示调用dll

    首先需要引入:#include<windows.h>     否则会出现 HINSTANCE 未定义的错误

  8. mutilple output reduce cannot write

    package org.lukey.hadoop.classifyBayes; import java.io.BufferedReader; import java.io.IOException; i ...

  9. 'xcopy' 'ipconfig'。。。 不是内部或外部命令,也不是可运行的程序 或批处理文件

    最近在win8下安装软件的时候,总是报 "xxx不是内部或外部命令,也不是可运行的程序 或批处理文件" 的错误 . 百思不得其解  打开cmd 或 powerShell 输入xco ...

  10. JAVA基础--方法的重写overwrite 和 重载overload

    重写 overwrite或者override: 相同的方法名称, 参数列表和返回类型 重载overload: 方法有相同的名字, 但是参数不同 (参数个数不同, 参数类型不同, 其中一个不同即可), ...