全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Android下Button实现图文混排效果

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 


相关文章: 济南网站建设制作公司,室内设计网站一般都有哪些功能?  如何通过西部建站助手安装IIS服务器?  如何在阿里云香港服务器快速搭建网站?  建站主机CVM配置优化、SEO策略与性能提升指南  网站制作公司排行榜,四大门户网站排名?  重庆网站制作公司哪家好,重庆中考招生办官方网站?  如何在万网主机上快速搭建网站?    北京网站制作网页,网站升级改版需要多久?  网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?  网站制作需要会哪些技术,建立一个网站要花费多少?  深圳网站制作的公司有哪些,dido官方网站?  网站制作公司,橙子建站是合法的吗?  如何在Golang中使用encoding/gob序列化对象_存储和传输数据  免费ppt制作网站,有没有值得推荐的免费PPT网站?  高性能网站服务器部署指南:稳定运行与安全配置优化方案  如何用景安虚拟主机手机版绑定域名建站?  建站之星安装步骤有哪些常见问题?  子杰智能建站系统|零代码开发与AI生成SEO优化指南  如何在西部数码注册域名并快速搭建网站?  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  Python多线程使用规范_线程安全解析【教程】  如何做网站制作流程,*游戏网站怎么搭建?  一键网站制作软件,义乌购一件代发流程?  如何通过cPanel快速搭建网站?  网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?  建站之星3.0如何解决常见操作问题?  微信小程序 五星评分(包括半颗星评分)实例代码  建站之星如何配置系统实现高效建站?  如何快速搭建FTP站点实现文件共享?  建站VPS推荐:2025年高性能服务器配置指南  如何用PHP工具快速搭建高效网站?  ,石家庄四十八中学官网?  建站之星伪静态规则如何设置?  营销式网站制作方案,销售哪个网站招聘效果最好?  如何在IIS中配置站点IP、端口及主机头?  建站主机选哪种环境更利于SEO优化?  ,有什么在线背英语单词效率比较高的网站?  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  如何在局域网内绑定自建网站域名?  公众号网站制作网页,微信公众号怎么制作?  在线制作视频网站免费,都有哪些好的动漫网站?  如何通过IIS搭建网站并配置访问权限?  c# 在高并发下使用反射发射(Reflection.Emit)的性能  想学网站制作怎么学,建立一个网站要花费多少?  学校免费自助建站系统:智能生成+拖拽设计+多端适配  山东云建站价格为何差异显著?  Python lxml的etree和ElementTree有什么区别  建站主机选哪家性价比最高?  简单实现Android文件上传 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。