zoukankan      html  css  js  c++  java
  • Button实现图文混排

    Button实现图文混排

    一、简介

    本文介绍两种图文混排方式

    1、android:drawableTop="@drawable/star"实现文字上有图片

    当然有上下左右等等

    2、SpannableString的ImageSpan实现图文混排

    二、代码实例

    效果图:

    一二三四是用的第一种方式

    下面的用的第二种方式

    代码:

    fry.Activity02

     1 package fry;
     2 
     3 import com.example.buttonDemo1.R;
     4 
     5 import android.app.Activity;
     6 import android.graphics.BitmapFactory;
     7 import android.os.Bundle;
     8 import android.text.Spannable;
     9 import android.text.SpannableString;
    10 import android.text.style.ImageSpan;
    11 import android.view.MotionEvent;
    12 import android.view.View;
    13 import android.view.View.OnClickListener;
    14 import android.view.View.OnFocusChangeListener;
    15 import android.view.View.OnTouchListener;
    16 import android.widget.Button;
    17 
    18 public class Activity02 extends Activity  {
    19     private Button btn_big;
    20     @Override
    21     protected void onCreate(Bundle savedInstanceState) {
    22         // TODO Auto-generated method stub
    23         super.onCreate(savedInstanceState);
    24         setContentView(R.layout.activity02);
    25         btn_big=(Button) findViewById(R.id.btn_big);
    26         
    27         //SpannableString的ImageSpan添加左边图片
    28         SpannableString spannableString1=new SpannableString("left");
    29         ImageSpan imageSpan=new ImageSpan(this, BitmapFactory.decodeResource(getResources(), R.drawable.image_left));
    30         spannableString1.setSpan(imageSpan, 0, 4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    31         
    32         //SpannableString的ImageSpan添加右边图片
    33         SpannableString spannableString2=new SpannableString("right");
    34         ImageSpan imageSpan2=new ImageSpan(this, BitmapFactory.decodeResource(getResources(), R.drawable.image_right));
    35         spannableString2.setSpan(imageSpan2, 0, 5, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    36         
    37         btn_big.append(spannableString1);
    38         btn_big.append("我的按钮");
    39         btn_big.append(spannableString2);
    40     }
    41 }

    /buttonDemo1/res/layout/activity02.xml

     1 <?xml version="1.0" encoding="utf-8"?>
     2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     3     android:layout_width="match_parent"
     4     android:layout_height="match_parent"
     5     android:orientation="vertical" >
     6     
     7     <LinearLayout 
     8         android:layout_width="match_parent"
     9         android:layout_height="wrap_content"
    10         android:orientation="horizontal"
    11         >
    12         
    13         <!--android:drawableTop="@drawable/star"实现文字上有图片  -->
    14         <Button
    15             android:layout_width="wrap_content"
    16             android:layout_height="wrap_content"
    17             android:text="一" 
    18             android:drawableTop="@drawable/star"
    19             />
    20         
    21         <!--android:drawablePadding="30dp实现文字和文字上的图片中间有30dp的空隙  -->
    22         <Button
    23             android:layout_width="wrap_content"
    24             android:layout_height="wrap_content"
    25             android:text="二" 
    26             android:drawableTop="@drawable/star"
    27             android:drawablePadding="30dp"
    28             />
    29         
    30         <Button
    31             android:layout_width="wrap_content"
    32             android:layout_height="wrap_content"
    33             android:text="三" 
    34             android:drawableRight="@drawable/star"
    35             />
    36         
    37         <Button
    38             android:layout_width="wrap_content"
    39             android:layout_height="wrap_content"
    40             android:text="四" 
    41             android:drawableLeft="@drawable/star"
    42             />
    43     </LinearLayout>
    44     
    45     <Button 
    46         android:id="@+id/btn_big"
    47         android:layout_width="180dp"
    48         android:layout_height="200dp"
    49         
    50         />
    51     
    52 </LinearLayout>
  • 相关阅读:
    20181113-2 每周例行报告
    20181030-4 每周例行报告
    20180925-5 代码规范,结对要求
    20181023-3 每周例行报告
    20181016-10 每周例行报告
    PSP总结报告
    作业要求 20181204-1 每周例行报告
    公开感谢
    附加作业 软件工程原则的应用实例分析
    作业要求 20181127-2每周例行报告
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/7290001.html
Copyright © 2011-2022 走看看