Android下Button实现图文混排效果
发布时间 - 2026-01-11 02:40:53 点击率:次Button实现图文混排效果,具体内容如下

一、简介
本文介绍两种图文混排方式
1、android:drawableTop="@drawable/star"实现文字上有图片
当然有上下左右等等
2、SpannableString的ImageSpan实现图文混排
二、代码实例
效果图:
一二三四是用的第一种方式
下面的用的第二种方式
代码:
fry.Activity02
package fry;
import com.example.buttonDemo1.R;
import android.app.Activity;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.text.Spannable;
import android.text.SpannableString;
import android.text.style.ImageSpan;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnFocusChangeListener;
import android.view.View.OnTouchListener;
import android.widget.Button;
public class Activity02 extends Activity {
private Button btn_big;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity02);
btn_big=(Button) findViewById(R.id.btn_big);
//SpannableString的ImageSpan添加左边图片
SpannableString spannableString1=new SpannableString("left");
ImageSpan imageSpan=new ImageSpan(this, BitmapFactory.decodeResource(getResources(), R.drawable.image_left));
spannableString1.setSpan(imageSpan, 0, 4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
//SpannableString的ImageSpan添加右边图片
SpannableString spannableString2=new SpannableString("right");
ImageSpan imageSpan2=new ImageSpan(this, BitmapFactory.decodeResource(getResources(), R.drawable.image_right));
spannableString2.setSpan(imageSpan2, 0, 5, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
btn_big.append(spannableString1);
btn_big.append("我的按钮");
btn_big.append(spannableString2);
}
}
/buttonDemo1/res/layout/activity02.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<!--android:drawableTop="@drawable/star"实现文字上有图片 -->
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="一"
android:drawableTop="@drawable/star"
/>
<!--android:drawablePadding="30dp实现文字和文字上的图片中间有30dp的空隙 -->
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="二"
android:drawableTop="@drawable/star"
android:drawablePadding="30dp"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="三"
android:drawableRight="@drawable/star"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="四"
android:drawableLeft="@drawable/star"
/>
</LinearLayout>
<Button
android:id="@+id/btn_big"
android:layout_width="180dp"
android:layout_height="200dp"
/>
</LinearLayout>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# Android
# Button
# 图文混排
# Android中使用TextView实现图文混排的方法
# 详解Android SpannableString多行图文混排的应用实战
# 上有
# 两种
# 上下左右
# 第二种
# 第一种
# 具体内容
# 大家多多
# View
# MotionEvent
# OnClickListener
# Spannable
# Activity
# os
# Bundle
# BitmapFactory
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何在建站之星绑定自定义域名?
活动邀请函制作网站有哪些,活动邀请函文案?
Laravel集合Collection怎么用_Laravel集合常用函数详解
大连网站制作公司哪家好一点,大连买房网站哪个好?
原生JS实现图片轮播切换效果
弹幕视频网站制作教程下载,弹幕视频网站是什么意思?
如何快速上传自定义模板至建站之星?
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
php中::能调用final静态方法吗_final修饰静态方法调用规则【解答】
如何用VPS主机快速搭建个人网站?
如何续费美橙建站之星域名及服务?
WEB开发之注册页面验证码倒计时代码的实现
googleplay官方入口在哪里_Google Play官方商店快速入口指南
如何快速生成可下载的建站源码工具?
Laravel模型事件有哪些_Laravel Model Event生命周期详解
laravel怎么使用数据库工厂(Factory)生成带有关联模型的数据_laravel Factory生成关联数据方法
Laravel如何构建RESTful API_Laravel标准化API接口开发指南
JS去除重复并统计数量的实现方法
Laravel Seeder填充数据教程_Laravel模型工厂Factory使用
ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】
Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】
Laravel如何实现本地化和多语言支持?(i18n教程)
微博html5版本怎么弄发超话_超话进入入口及发帖格式要求【教程】
JavaScript如何操作视频_媒体API怎么控制播放
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
Laravel如何发送系统通知_Laravel Notifications实现多渠道消息通知
Laravel如何实现邮箱地址验证功能_Laravel邮件验证流程与配置
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
如何在 React 中条件性地遍历数组并渲染元素
Laravel如何与Pusher实现实时通信?(WebSocket示例)
JavaScript如何实现继承_有哪些常用方法
如何实现建站之星域名转发设置?
Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决
Android GridView 滑动条设置一直显示状态(推荐)
Win11怎样安装网易有道词典_Win11安装词典教程【步骤】
laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法
如何在自有机房高效搭建专业网站?
如何基于云服务器快速搭建个人网站?
HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
深圳网站制作培训,深圳哪些招聘网站比较好?
Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门
制作公司内部网站有哪些,内网如何建网站?
如何在阿里云购买域名并搭建网站?
如何在阿里云虚拟主机上快速搭建个人网站?
Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性
在centOS 7安装mysql 5.7的详细教程
如何挑选最适合建站的高性能VPS主机?
Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】
Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】

