安卓控件使用系列9:Button实现图文混排
来源:互联网 发布:拓客宝软件怎么样 编辑:程序博客网 时间:2024/05/02 17:47
安卓中使用Button控件进行图文混排是经常遇到的需求背景。下面我们来和大家分享一下如何实现这样的功能。
整体思路:第一种方法:通过设置Button控件的drawableTop或drawableLeft等属性(也可以同时设置两个属性,这样加载的两个图片来进行图文混排),来指定图片的位置,实现Button控件的图文混排功能,这种方法操作比较简单;第二种方法是通过代码来实现图片的加载,首先定义分割字符串,定义指向指定图片的位图对象,把要设置的文本和位图对象加载Button控件上,实现图文混排的效果。
activity_main.xml文件:
<LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <LinearLayout android:layout_width="fill_parent" android:layout_height="120dp" android:orientation="horizontal" > <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:drawableTop="@drawable/test2" android:text="按钮" /> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:drawableTop="@drawable/test2" android:drawablePadding="30dp" android:text="按钮" /> <Button android:id="@+id/button3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:drawableTop="@drawable/test2" android:drawableLeft="@drawable/test2" android:text="按钮" /> <Button android:id="@+id/button4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:drawablePadding="30dp" android:drawableRight="@drawable/test2" android:text="按钮" /> </LinearLayout> <Button android:id="@+id/button" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <Button android:id="@+id/testbutton" android:layout_width="fill_parent" android:layout_height="wrap_content" android:drawableLeft="@drawable/image_left" android:drawableRight="@drawable/image_right" android:text="我的按钮" /></LinearLayout>MainActivity.java文件:
<span style="color:#cc33cc;"> </span>protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button button=(Button)findViewById(R.id.button);SpannableString spannableStringLeft=new SpannableString("left");Bitmap bitmapLeft=BitmapFactory.decodeResource(getResources(), R.drawable.image_left);ImageSpan imageSpanLeft=new ImageSpan(bitmapLeft,DynamicDrawableSpan.ALIGN_BOTTOM);spannableStringLeft.setSpan(imageSpanLeft, 0, 4, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);SpannableString spannableStringRight=new SpannableString("right");Bitmap bitmapRight=BitmapFactory.decodeResource(getResources(), R.drawable.image_right);ImageSpan imageSpanRight=new ImageSpan(bitmapRight);spannableStringRight.setSpan(imageSpanRight, 0, 4, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);button.append(spannableStringLeft);button.append("我的按钮");button.append(spannableStringRight);}
0 0
- 安卓控件使用系列9:Button实现图文混排
- 安卓控件使用系列2:TextView实现图文(图片和文字)混排
- 安卓Button图文混排
- Button 图文混排
- 图文混排Button
- Android学习笔记16:Button控件图文混排效果的实现
- Android学习笔记16:Button控件图文混排效果的实现
- Android学习笔记16:Button控件图文混排效果的实现
- 安卓:自定义适配器实现GridView图文混排
- 使用CoreText实现图文混排
- iOS 使用webView实现图文混排
- 安卓控件使用系列8:Button按钮几个重要事件的使用
- 图文混排实现
- Button的上下图文混排
- c++图文混排控件
- 小胖说事13--------NSTextAttachment富文本控件实现图文混排
- NSTextAttachment富文本控件实现图文混排
- NSTextAttachment富文本控件实现图文混排
- C++容器(五):set类型
- MySql中group by, order by,按照出现频率排序
- Number类
- Git 搭建Git服务器
- Ubuntu14.04+OpenJDK7下载编译安卓源代码
- 安卓控件使用系列9:Button实现图文混排
- Swift 和Objective-C 性能对比
- TCP/IP详解卷1 读书笔记:第六章 ICMP 网际报文控制协议
- LintCode | Easy | 翻转链表 | Reverse Linked List
- car的旅行路线(floyd算法)
- C语言学习笔记 之字符串
- windows和linux服务器之间的通信
- 自定义Drawable实现圆形图片
- 可逆素数