Android控件上添加图片
项目中有一个点赞功能,点赞的小图标添加在点赞列表旁边,在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控件上添加图片的更多相关文章
- 在RichTextBox控件中添加图片和文字
public void SetText(RichTextBox rtb) { rtb.Text = "在RichTextBox控件中添加图片和文字" + Environment.N ...
- 在GridControl控件上绑定图片的几种操作方式
我们知道,基于DevExpress的开发Winform的项目界面的时候,GridControl控件是经常用来绑定数据的,一般以常规的字符内容为主,有时候也会有图片的显示需要,那么如果显示图片,我们应该 ...
- 对话框上动态控件的创建、在Picture Control控件上显示图片
1 MFC对话框之上的动态控件的创建 对话框上的控件是MFC类的一个具体对象. 当在对话框之上使用静态控件时,可以根据类向导来为每个控件添加消息.响应函数以及变量. 当需要在对话框中动态的创建某个控 ...
- 保存图片控件上的图片到本地 出现错误:无法将类型为“System.Windows.Media.Imaging.BitmapFrameDecode”的对象强制转换为类型“System.Windows.Media.Imaging.BitmapImage”。
保存图片控件上的图片到本地 出现错误:无法将类型为“System.Windows.Media.Imaging.BitmapFrameDecode”的对象强制转换为类型“System.Windows.M ...
- 在WPF控件上添加Windows窗口式调整大小行为
起因 项目上需要对Canvas中的控件添加调整大小功能,即能在控件的四个角和四条边上可进行相应的拖动,类似Windows窗口那种.于是在参考以前同事写的代码基础上,完成了该功能. 代码实现 Adorn ...
- 怎么为android控件边缘添加阴影
为控件设置一个有阴影感的背景图片即可,可以使用shape 在自定义shape中增加一层或多层,并错开,即可显示阴影效果.为增加立体感,按钮按下的时候,只设置一层.我们可以通过top, bottom, ...
- Android 控件背景选择图片还是drawable XML资源
决定一个控件应该是否用Drawable XML渲染,应考虑以下几个因素: * App是否要支持多分辨率: * App是否有瘦身的需要: * 图案是否足够简单: * 图案需要自由缩放: * 设计开发工作 ...
- C#如何在panl控件上添加Form窗体
. if (treeView1.SelectedNode.Text == "个人信息") { Form1 f4 = new Form1(); f4.TopLevel = false ...
- 张奎师弟参与devexpress chartControl绘图--解决了devexpress的chartControl控件不能添加系列的问题
using DevExpress.XtraCharts; using System; using System.Collections.Generic; using System.ComponentM ...
随机推荐
- CodeForces 678A Johny Likes Numbers
简单题. #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> ...
- 笔记整理--Linux编程
linux c编程open() read() write()函数的使用方法及实例 | 奶牛博客 - Google Chrome (2013/8/31 17:56:10) 今天把文件IO操作的一些东东整 ...
- gnome配置
1.gome-tweak-tool gnome调校工具 2.gnome-shell插件(在gome-tweak-tool中) 可在https://extensions.gnome.org/中下载 ...
- win10系统安装oracle11g时遇到INS-13001环境不满足最低要求
升级win10系统之后,需要重新安装Oracle,因为在安装Oralce11g时,使用64位的会出现各种不兼容问题,我每次安装都是使用32位的数据库. 在安装时点击setup.exe之后,出现了:[I ...
- elisp
cons cell? 构建内存对象! 通过寄存器的基地址car和偏移地址cdr来--寻址内存对象,我是这样理解的. http://wiki.dourok.info/doku.php/%E5%B7%A5 ...
- java网络之udp
import java.net.*; /** * InetAddress用法 * 获取本地主机名,ip * 通过主机名,ip获取InetAddress对象 */ public class Demo{ ...
- java输出日期时间
Calendar类下方法 c.add(Calendar.YEAR,4);//加4年 c.add(Calendar.MONTH,-1);// 月份减1 c.set(2012,2,23); //把时间设置 ...
- Cells Not Under Attack
Cells Not Under Attack Vasya has the square chessboard of size n × n and m rooks. Initially the ches ...
- Struts2利用注解实现action跳转
使用注解来配置Action的最大好处就是可以实现零配置,但是事务都是有利有弊的,使用方便,维护起来就没那么方便了. 要使用注解方式,我们必须添加一个额外包:struts2-convention-plu ...
- mysql基础---日志文件
一 基本日志文件 MYSQL有不同类型的日志文件(各自存储了不同类型的日志),从它们当中可以查询到MYSQL里都做了些什么,对于MYSQL的管理工作,这些日志文件是不可缺少的. 1.错误日志(The ...