`
ET焖猪仔
  • 浏览: 235854 次
  • 性别: Icon_minigender_1
  • 来自: 广东
社区版块
存档分类
最新评论

用TextView显示带图片的效果

阅读更多
转载他人的:http://www.devdiv.net/bbs/thread-23974-1-1.html
为了实现在TextView中显示图片,有时对图片的宽度与高度有限制的话,可以对实现进行放大与缩小操作!



main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello"
    />
<TextView android:text="TextView01" android:id="@+id/TextView01" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
<TextView android:text="TextView02" android:id="@+id/TextView02" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
</LinearLayout>



GridView.java
package a.gridview;

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Matrix;
import android.graphics.PixelFormat;
import android.graphics.Rect;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.widget.TextView;

public class GridView extends Activity {
        
        private TextView text;
        private TextView text1;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        text = (TextView) findViewById(R.id.TextView01);
        Drawable draw = this.getResources().getDrawable(R.drawable.srvmng);   
        text.setCompoundDrawablesWithIntrinsicBounds(null, draw, null,null);
        text.setText("应用");
        
        text1 = (TextView) findViewById(R.id.TextView02);
        Drawable draw1 = this.getResources().getDrawable(R.drawable.srvmng);  
        int w = draw1.getIntrinsicWidth();
        int h = draw1.getIntrinsicHeight();
        Rect rect = draw1.getBounds();
        text1.setCompoundDrawablesWithIntrinsicBounds(null, zoomDrawable(draw1,32,32), null,null);
        text1.setText("设置");
    }
    
    static Drawable zoomDrawable(Drawable drawable, int w, int h)
    {
              int width = drawable.getIntrinsicWidth();
              int height= drawable.getIntrinsicHeight();
              Bitmap oldbmp = drawableToBitmap(drawable); // drawable转换成bitmap
              Matrix matrix = new Matrix();   // 创建操作图片用的Matrix对象
              float scaleWidth = ((float)w / width);   // 计算缩放比例
              float scaleHeight = ((float)h / height);
              matrix.postScale(scaleWidth, scaleHeight);         // 设置缩放比例
              Bitmap newbmp = Bitmap.createBitmap(oldbmp, 0, 0, width, height, matrix, true);       // 建立新的bitmap,其内容是对原bitmap的缩放后的图
              return new BitmapDrawable(newbmp);       // 把bitmap转换成drawable并返回
    }

    static Bitmap drawableToBitmap(Drawable drawable) // drawable 转换成bitmap
    {
              int width = drawable.getIntrinsicWidth();   // 取drawable的长宽
              int height = drawable.getIntrinsicHeight();
              Bitmap.Config config = drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888:Bitmap.Config.RGB_565;         // 取drawable的颜色格式
              Bitmap bitmap = Bitmap.createBitmap(width, height, config);     // 建立对应bitmap
              Canvas canvas = new Canvas(bitmap);         // 建立对应bitmap的画布
              drawable.setBounds(0, 0, width, height);
              drawable.draw(canvas);      // 把drawable内容画到画布中
              return bitmap;
    }

}


显示效果:



  • 大小: 29.3 KB
  • 大小: 32.9 KB
分享到:
评论

相关推荐

    android Textview显示带html文本、图片

    通过以上方法,我们可以让`TextView`不仅展示普通文本,还能展示带有格式的HTML文本和图片,极大地丰富了界面的呈现形式。在实际项目中,根据具体需求选择合适的方法,既能满足功能,又能保证性能和安全性。

    android textview显示表情图片

    这就涉及到了如何在TextView中显示表情图片的技术。以下是一些关于这个主题的重要知识点: 1. **Unicode表情支持**:大部分表情符号是Unicode字符,因此,如果你只是想显示基本的表情(如笑脸),只需要在字符串中...

    自定义TextVIew显示GIF图片

    以下是如何在自定义TextView中显示GIF图片的详细步骤。 首先,我们需要了解GIF图像的特性。GIF是一种支持动画的图像格式,它通过存储一系列连续的帧来创建动态效果。每帧可以有透明度,并且GIF文件中包含了帧的显示...

    android TextView 显示Gif 图片

    总之,要在`Android TextView`中显示GIF图片,你可以选择使用第三方库如`Glide`,或者自定义组件和`Spanned`实现。无论哪种方式,都需要对Android UI组件、图片加载机制以及动画处理有深入的理解。在实际项目中,应...

    Android TextView实现垂直滚动效果的方法

    在Android开发中,当需要在一个TextView中展示大量文本,而屏幕空间有限时,可以使用TextView的垂直滚动功能来实现文本的连续显示。本篇文章将详细讲解如何在Android中实现TextView的垂直滚动效果。 首先,要开启...

    textview显示图片的demo

    本示例"textView显示图片的例子_TextImage"将详细介绍如何在TextView中实现图片的显示。 一、基本原理 在Android中,TextView并不直接支持插入图片,但我们可以利用SpannableString和ImageSpan类来实现这个功能。...

    Launcher使用TextView显示应用图标

    TextView上显示图片稀奇吧,我们的Launcher显示的应用图标以及下面显示的文字就是TextView这货干的,今天我们就来用TextView实现这一效果。详见文章:http://www.ourunix.org/android/post/122.html

    Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)

    但是当我们要是图标跟着文字后面,第一时间想到用LinearLayout的layout_weight 来做,但是做出来效果不一样。 后来竟然忘记这个属性了:指定TextView的最大宽度实现自动省略 android:maxWidth=90dp ,加上

    FontAwesome-用TextView显示图片

    在Android开发中,为了使应用界面更加美观和多样化,...总之,FontAwesome是一个强大的图标库,通过自定义TextView和加载字体文件,可以在Android应用中轻松实现TextView显示图标的功能,提升应用的用户体验和设计感。

    Android中TextView的常用效果实现

    四、TextView显示图片 在TextView中显示图片,通常会用到`SpannableString`和`ImageSpan`。首先,你需要将图片资源转换为Bitmap,然后创建一个`ImageSpan`对象,最后将`ImageSpan`插入到`SpannableString`中。以下是...

    安卓textView相关-android文字图片混排在一个TextView中显示文字穿插图片文字变色效果.rar

    本教程将深入探讨如何在TextView中实现文字与图片的混排以及文字颜色的变化效果。 首先,我们要了解TextView的基础特性。TextView可以接受简单的HTML格式文本,通过`Html.fromHtml()`方法,我们可以将HTML字符串...

    TextView加载网络图片HTMLIMG

    在Android开发中,TextView是一个非常常见的控件,...合理选择和使用工具,结合Android原生方法和第三方库,可以实现高效、稳定的图片加载效果。通过实践和优化,我们可以让用户体验更加流畅,同时避免潜在的技术问题。

    TextView富文本显示

    通常情况下,`TextView`能够简单地展示纯文本,但在某些场景下,我们可能需要更复杂的文本格式,如加粗、斜体、超链接、颜色变化等,这时就需要用到`TextView`的富文本显示功能。本文将深入探讨如何让`TextView`支持...

    Android textview 文字中间加上图片

    例如,在显示用户头像、表情符号或者特殊标记时,就需要在TextView中插入图片。本文将详细介绍如何在Android的TextView中添加图片,并探讨相关的技术点。 一、插入资源图片 1. 使用`&lt;img&gt;`标签:如果你的TextView...

    实现TextView圆角效果demo

    在Android开发中,UI设计是不可或缺的一部分,而TextView作为显示文本的基本组件,有时我们需要对其进行定制以达到特定的设计效果,比如让TextView拥有圆角。本文将详细介绍如何在Android中实现TextView的圆角效果,...

    TextView自定义各种效果实现

    在TextView中插入图片,可以使用SpannableString和ImageSpan结合,实现文字和图片的混合排列。 12. **点击事件监听** 除了默认的点击事件,还可以自定义点击事件,如长按事件,或者指定区域内点击事件,这需要...

    androidTextView显示html图片资源实例

    本实例将详细讲解如何在TextView中加载并显示HTML中的图片,使你的应用具有更丰富的展示效果。 首先,我们需要明白TextView本身并不支持直接解析和渲染HTML,但我们可以借助WebView或者自定义的Spanned对象来实现这...

    带边框的TextView

    在某些设计需求中,我们可能需要让TextView具有边框,以增加视觉效果或者突出显示特定信息。标题"带边框的TextView"提示我们,这篇博客主要讨论如何为TextView添加边框。 在Android中实现带边框的TextView主要有...

    TextView如何显示丰富的文本

    本篇文章将深入探讨如何使用`TextView`来显示丰富的文本,包括设置字体、颜色、样式,以及使用链接、图片和自定义视图等。 一、基本使用 `TextView`在XML布局文件中通过`&lt;TextView&gt;`标签定义,例如: ```xml ...

    可以显示富文本的TextView.zip

    这些方法可能用于处理如自定义样式、图片加载、点击事件监听等特殊情况,让开发者能更灵活地控制文本的显示效果和交互行为。 5. **应用场景**: - **新闻展示**:新闻内容往往包含标题、摘要、正文等部分,且格式...

Global site tag (gtag.js) - Google Analytics