自定义Android带图片的按钮

自定义Android带图片的按钮

ID:37718783

大小:197.00 KB

页数:7页

时间:2019-05-29

自定义Android带图片的按钮_第1页
自定义Android带图片的按钮_第2页
自定义Android带图片的按钮_第3页
自定义Android带图片的按钮_第4页
自定义Android带图片的按钮_第5页
资源描述:

《自定义Android带图片的按钮》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、自定义Android带图片的按钮前言现在移动设备的按钮设计讲究大图标小文字,希望用户只要一看到图标便能知道这个按钮是干嘛的,但又要有必要的文字提示,最常见的就数搜索按钮了,上面一个大大的放大镜图标,下面两个字——搜索。Bill最近也在做具有这种效果的按钮,过程总是曲折的,不过结果总是美好滴~现在Bill把其做法分享给大家,希望对还不会的朋友有所帮助。先看看bill曲折的过程吧,也许里面就有你的影子:最开始以为直接利用Android控件ImageButton即可完事,谁知事不如人料,ImageButton只能显示图片,并不能对其添加文字

2、,此想法不攻自破。于是我想到了直接用Button,但是Button的文字却是显示在图片内部,并不能达到我的需求。放弃。懒人总有懒人的办法,我可以直接在图片下方PS需要的文字嘛,然后把P好的图片放进ImageButton就好了。此法十分简单好用。但是,一旦我们需要改变文字,或者我要把文字显示在图片顶部而不是底部怎么办?此法虽简单,却缺乏可变性。放弃。这就是所谓的“一钮三折”了~那么,有没有一种方法既能够拥有Button的效果,又能够实现Button显示的自定义呢?答案是肯定的,接下来,bill将一步一步详细解释这个按钮的制作过程。思路首

3、先,我们来看一下这个按钮的实现思路。有一种思维方式叫做“outofbox”,也就是鼓励大家跳出固定思维模式以寻求新的突破。但是在“跳出箱子”之前,我们必须首先知道困住我们思维的“箱子”是什么。在这里,这个箱子就是“按钮”。我们一直在想,如何去实现这个“按钮”,怎么才能让“按钮”显示出图片,然后在图片下面还显示一行字。我们就在“按钮”这个箱子里纠结。但实际上,当我们发现所谓的“按钮”其实就是一个View的时候,一切就变得简单了。它只不过是一个可点击、可设置监听、可显示文字或者图片的View而已。那么我们就跳出Android给我们设置的这

4、个箱子,自己重新造一个具有我们需要的功能和外观的View不就OK了?经过分析,上述按钮效果实际上就是一个布局,一个最简单不过的垂直线性布局,上部分是一个ImageView,下部分是一个TextView,这个布局可点击、可设置监听。我们首先要编写自己的ImageButton类,然后在主布局文件中为我们自定义的Button编写布局,最后在Activity中调用我们自定义ImageButton即可。那么接下来我们就一起来实现这个简单的LinearLayout。编码实现自己的ImageButton在编写我们自己的ImageButton之前,如

5、果读者并不清楚如何在一个静态的xml布局文件中动态地加载子布局,请先阅读下面的博文(此文言简意赅,已经写得很清楚了,bill就不再赘述)http://blog.csdn.net/lzx_bupt/article/details/5600187首先,我们编写一个MyImageButton类,继承自LinearLayout复制内容到剪贴板代码:packagecom.billhoo.study;importandroid.content.Context;importandroid.widget.ImageView;importandroid

6、.widget.LinearLayout;importandroid.widget.TextView;//自定义ImageButton,模拟ImageButton,并在其下方显示文字//提供Button的部分接口publicclassMyImageButtonextendsLinearLayout{publicMyImageButton(Contextcontext,intimageResId,inttextResId){super(context);mButtonImage=newImageView(context);mButton

7、Text=newTextView(context);  setImageResource(imageResId);mButtonImage.setPadding(0,0,0,0);  setText(textResId);  setTextColor(0xFF000000);mButtonText.setPadding(0,0,0,0);//设置本布局的属性  setClickable(true);  //可点击  setFocusable(true);  //可聚焦  setBackgroundResource(android.R.

8、drawable.btn_default);  //布局才用普通按钮的背景  setOrientation(LinearLayout.VERTICAL);  //垂直布局//首先添加Image,然后才添加Text//添加

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。