转载他人的: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
分享到:
相关推荐
通过以上方法,我们可以让`TextView`不仅展示普通文本,还能展示带有格式的HTML文本和图片,极大地丰富了界面的呈现形式。在实际项目中,根据具体需求选择合适的方法,既能满足功能,又能保证性能和安全性。
这就涉及到了如何在TextView中显示表情图片的技术。以下是一些关于这个主题的重要知识点: 1. **Unicode表情支持**:大部分表情符号是Unicode字符,因此,如果你只是想显示基本的表情(如笑脸),只需要在字符串中...
以下是如何在自定义TextView中显示GIF图片的详细步骤。 首先,我们需要了解GIF图像的特性。GIF是一种支持动画的图像格式,它通过存储一系列连续的帧来创建动态效果。每帧可以有透明度,并且GIF文件中包含了帧的显示...
总之,要在`Android TextView`中显示GIF图片,你可以选择使用第三方库如`Glide`,或者自定义组件和`Spanned`实现。无论哪种方式,都需要对Android UI组件、图片加载机制以及动画处理有深入的理解。在实际项目中,应...
在Android开发中,当需要在一个TextView中展示大量文本,而屏幕空间有限时,可以使用TextView的垂直滚动功能来实现文本的连续显示。本篇文章将详细讲解如何在Android中实现TextView的垂直滚动效果。 首先,要开启...
本示例"textView显示图片的例子_TextImage"将详细介绍如何在TextView中实现图片的显示。 一、基本原理 在Android中,TextView并不直接支持插入图片,但我们可以利用SpannableString和ImageSpan类来实现这个功能。...
TextView上显示图片稀奇吧,我们的Launcher显示的应用图标以及下面显示的文字就是TextView这货干的,今天我们就来用TextView实现这一效果。详见文章:http://www.ourunix.org/android/post/122.html
但是当我们要是图标跟着文字后面,第一时间想到用LinearLayout的layout_weight 来做,但是做出来效果不一样。 后来竟然忘记这个属性了:指定TextView的最大宽度实现自动省略 android:maxWidth=90dp ,加上
在Android开发中,为了使应用界面更加美观和多样化,...总之,FontAwesome是一个强大的图标库,通过自定义TextView和加载字体文件,可以在Android应用中轻松实现TextView显示图标的功能,提升应用的用户体验和设计感。
四、TextView显示图片 在TextView中显示图片,通常会用到`SpannableString`和`ImageSpan`。首先,你需要将图片资源转换为Bitmap,然后创建一个`ImageSpan`对象,最后将`ImageSpan`插入到`SpannableString`中。以下是...
本教程将深入探讨如何在TextView中实现文字与图片的混排以及文字颜色的变化效果。 首先,我们要了解TextView的基础特性。TextView可以接受简单的HTML格式文本,通过`Html.fromHtml()`方法,我们可以将HTML字符串...
在Android开发中,TextView是一个非常常见的控件,...合理选择和使用工具,结合Android原生方法和第三方库,可以实现高效、稳定的图片加载效果。通过实践和优化,我们可以让用户体验更加流畅,同时避免潜在的技术问题。
通常情况下,`TextView`能够简单地展示纯文本,但在某些场景下,我们可能需要更复杂的文本格式,如加粗、斜体、超链接、颜色变化等,这时就需要用到`TextView`的富文本显示功能。本文将深入探讨如何让`TextView`支持...
例如,在显示用户头像、表情符号或者特殊标记时,就需要在TextView中插入图片。本文将详细介绍如何在Android的TextView中添加图片,并探讨相关的技术点。 一、插入资源图片 1. 使用`<img>`标签:如果你的TextView...
在Android开发中,UI设计是不可或缺的一部分,而TextView作为显示文本的基本组件,有时我们需要对其进行定制以达到特定的设计效果,比如让TextView拥有圆角。本文将详细介绍如何在Android中实现TextView的圆角效果,...
在TextView中插入图片,可以使用SpannableString和ImageSpan结合,实现文字和图片的混合排列。 12. **点击事件监听** 除了默认的点击事件,还可以自定义点击事件,如长按事件,或者指定区域内点击事件,这需要...
本实例将详细讲解如何在TextView中加载并显示HTML中的图片,使你的应用具有更丰富的展示效果。 首先,我们需要明白TextView本身并不支持直接解析和渲染HTML,但我们可以借助WebView或者自定义的Spanned对象来实现这...
在某些设计需求中,我们可能需要让TextView具有边框,以增加视觉效果或者突出显示特定信息。标题"带边框的TextView"提示我们,这篇博客主要讨论如何为TextView添加边框。 在Android中实现带边框的TextView主要有...
本篇文章将深入探讨如何使用`TextView`来显示丰富的文本,包括设置字体、颜色、样式,以及使用链接、图片和自定义视图等。 一、基本使用 `TextView`在XML布局文件中通过`<TextView>`标签定义,例如: ```xml ...
这些方法可能用于处理如自定义样式、图片加载、点击事件监听等特殊情况,让开发者能更灵活地控制文本的显示效果和交互行为。 5. **应用场景**: - **新闻展示**:新闻内容往往包含标题、摘要、正文等部分,且格式...