Android图片显示ICON——基础编
2011-02-21 11:03
387 查看
今天写了一编小的图片显示代码,是从ICON的图片的显示结果来说明如果从以后的过程中更加适合里面去。先让我们看一下:图:
让我们看一下类中是代码:
[/code]
本文出自 “技术成就梦想” 博客,请务必保留此出处http://llb988.blog.51cto.com/1940549/497220
让我们看一下类中是代码:
package com.smart.widget; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Rect; import android.util.AttributeSet; import android.widget.TextView; public class IconText extends TextView{ // 命名空间的值 private final String namespace = "http://net.blogjava.mobile"; // 图像资源ID private int resourceId = 0; private Bitmap bitmap; public IconText(Context context, AttributeSet attrs) { super(context, attrs); resourceId = attrs.getAttributeResourceValue(namespace, "iconSrc", 0); if (resourceId > 0) bitmap = BitmapFactory.decodeResource(getResources(), resourceId); } @Override protected void onDraw(Canvas canvas) { if (bitmap != null) { // 从原图上截取图像的区域,在本例中为整个图像 Rect src = new Rect(); // 将截取的图像复制到bitmap上的目标区域,在本例中与复制区域相同 Rect target = new Rect(); src.left = 0; src.top = 0; src.right = bitmap.getWidth(); src.bottom = bitmap.getHeight(); int textHeight = (int) getTextSize(); target.left = 0; // 计算图像复制到目录区域的纵坐标。由于TextView中文本内容并不是从最顶端开始绘制的,因此,需要重新计算绘制图像的纵坐标 target.top = (int) ((getMeasuredHeight() - getTextSize()) / 2) + 1; target.bottom = target.top + textHeight; // 为了保证图像不变形,需要根据图像高度重新计算图像的宽度 target.right = (int) (textHeight * (bitmap.getWidth() / (float) bitmap .getHeight())); // 开始绘制图像 canvas.drawBitmap(bitmap, src, target, getPaint()); // 将TextView中的文本向右移动一定的距离(在本例中移动了图像宽度加2个象素点的位置) canvas.translate(target.right + 2, 0); } super.onDraw(canvas); } } main代码: [code]<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:mobile="http://www.baidu.com" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <com.smart.widget.IconText android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="第一个笑脸" mobile:iconSrc="drawable/small" /> <com.smart.widget.IconText android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="第二个笑脸" android:textSize="24dp" mobile:iconSrc="drawable/small" /> <com.smart.widget.IconText android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="第三个笑脸" android:textSize="36dp" mobile:iconSrc="drawable/small" /> <com.smart.widget.IconText android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="第四个笑脸" android:textSize="48dp" mobile:iconSrc="drawable/small" /> <com.smart.widget.IconText android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="第五个笑脸" android:textSize="36dp" mobile:iconSrc="drawable/small" /> <com.smart.widget.IconText android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="第六个笑脸" android:textSize="24dp" mobile:iconSrc="drawable/small" /> <com.smart.widget.IconText android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="第七个笑脸" mobile:iconSrc="drawable/small" /> </LinearLayout>
[/code]
本文出自 “技术成就梦想” 博客,请务必保留此出处http://llb988.blog.51cto.com/1940549/497220
相关文章推荐
- Android图片显示ICON——基础编
- Android图片显示ICON——基础编
- Android基础-获取网络上的图片并显示
- Android Http基础:图片下载并显示和WebView的应用
- Android 图片的高效加载Bitmap显示——开源框架基础核心代码
- Android中显示网络图片
- android GridView 通过json显示网络图片和文字
- android 基础 网络获取网页的源文件和图片
- Android TextView使用HTML处理字体样式、显示图片等
- 怪胎:Android开发ImageView图片无法显示
- Android三步显示gif动态图片
- Android手机开发:图片的放大和缩小显示ImageView
- Android ListView滑动过程中图片显示重复错乱闪烁问题解决
- Android中Luncher掌控图片的显示
- Android 中解决图片加载OOM 之 bitmap 压缩显示,压缩上传
- Android高效显示图片详解(一)
- 文章标题android之listview异步加载图片时显示加载进度ProgressBar
- android异步加载图片显示,并且对图片进行缓存实例
- android开发模拟器显示图片大小与真实图片大小不一致问题
- Android高效显示图片漫谈