ClipDrawable代表从其它位图上截取一个"图片片段",XML中的根元素为<clip.../>,截取的方向由clipOrientation控制
下面以一个慢慢展开的图片为例
先定义一个ClipDrawable资源文件my_clip.xml
<?xml version="1.0" encoding="utf-8"?> <clip xmlns:android="http://schemas.android.com/apk/res/android" android:drawable="@drawable/fengjing" android:clipOrientation="horizontal" android:gravity="center"> </clip>
接下来在主界面main.xml中的imageview中引用它
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <!-- 这里imageView的src定义为clipdrawable资源 --> <ImageView android:id="@+id/image" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/my_clip" /> </LinearLayout>
主界面代码
package WangLi.Resouce.ClipDrawableTest; import java.util.Timer; import java.util.TimerTask; import android.app.Activity; import android.graphics.drawable.ClipDrawable; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.widget.ImageView; public class ClipDrawableTest extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ImageView imageview = (ImageView)findViewById(R.id.image); //获取图片所显示的ClipDrawble对象 final ClipDrawable drawable = (ClipDrawable)imageview.getDrawable(); final Handler handler = new Handler() { public void handleMessage(Message msg) { if(msg.what == 0x1233) { //修改ClipDrawable的level值 drawable.setLevel(drawable.getLevel() +200); } } }; final Timer timer = new Timer(); timer.schedule(new TimerTask() { public void run() { Message msg = new Message(); msg.what = 0x1233; //发送消息,通知应用修改ClipDrawable对象的level值 handler.sendMessage(msg); //取消定时器 if(drawable.getLevel() >= 10000) { timer.cancel(); } } },0,300); } }
运行效果如下
刚开始图片从中间往两边展开
最后展开完整的图片
利用ClipDrawable,还可以做图片进度条
发表评论
-
初学Android,Intent概要(十一) .
2012-08-11 14:01 802下面内容我觉得归纳的很好,我看了几本书,包括一些英文的,写 ... -
初学Android,字符串,数字,尺寸,数组资源(十二) .
2012-08-11 00:09 1357下面是使用字符串,数字,尺寸,数组资源的例子,挺好,一个例子已 ... -
初学Android,使用Drawable资源之使用StateListDrawable资源(十三) .
2012-08-11 00:06 1158StateListDrawable用于组织多个Drawable ... -
初学Android,使用Drawable资源之使用LayerDrawable资源(十四)
2012-08-03 10:27 777LayerDrawable,系统将会按这些Drawable对象 ... -
初学Android,使用Drawable资源之使用ShapeDrawable资源(十五)
2012-08-03 14:40 1113ShapeDrawable比较简单,用来定义一个基本几何图形, ... -
初学Android,使用Drawable资源之使用AnimationDrawable资源(十七)
2012-08-06 11:34 935这次学学怎么使用动画资源,AnimationDrawable, ... -
初学Android,使用自定义的XML资源(十八)
2012-08-06 15:16 685使用自定义的XML资源,这当然也必须是Android的一个功能 ... -
初学Android,使用菜单资源(十九)
2012-08-07 17:16 702Android里面也可用XML定义菜单资源,菜单分两种,一种是 ... -
初学Android,使用样式(style)资源(二十)
2012-08-09 09:57 768在Android里面,样式的概念跟网页中CSS样式表的概念相似 ... -
初学Android,使用主题(Theme)资源(二十一)
2012-08-09 11:06 746主题跟样式类似,也是放在路径/res/values下同样以&l ... -
初学Android,使用属性(Attribute)资源(二十二)
2012-08-09 14:47 786感觉这篇写的不错,拿来转了 http://wujia ... -
初学Android,使用原始资源(二十三)
2012-08-09 17:09 796原始资源就是Android没有为之提供专门支持的资源文件,可以 ... -
ImageAdapter和PopupWindow的使用
2012-08-09 17:35 1154引用public class SamplePopup exte ... -
requestWindowFeature类
2012-08-09 17:21 744requestWindowFeature可以设 ... -
android学习笔记(二)
2012-08-08 12:00 713Activities and Tasks 一个活动能启动另一 ... -
Android之SurfaceView学习(一)
2012-08-07 16:57 635首先我们先来看下官方API对SurfaceView的介绍 S ... -
adnroid 学习笔记(一)
2012-08-06 16:10 621今天开始学习android,在配置资源文件时遇到的问题,在这里 ...
相关推荐
在Android SDK中,开发者通常不需要直接操作Drawable的底层实现类,而是通过XML文件来定义和使用Drawable资源,通过资源ID来引用它们。 Android内置了多种类型的Drawable资源,主要包括以下几类: 1. Color...
在Android开发中,drawable资源是不可或缺的一部分,它主要用于定义图形、形状、背景等视觉元素,还可以用来改变控件的外观。本篇文章将深入探讨如何利用drawable资源来改变Android应用中的控件外观。 首先,...
本资源包“android安卓APP之13种Drawable位图片资源.zip”涵盖了Android开发中常见的13种Drawable类型,这些类型极大地丰富了Android应用的视觉表现和动态效果。下面将详细介绍每种Drawable的特性和用法。 1. **...
在Android开发中,为了创建各种视觉效果,开发者经常会利用到Drawable资源。`ClipDrawable`是Android SDK提供的一种Drawable类型,它允许我们根据指定的级别值来裁剪其他Drawable,从而实现如进度条、滑块等效果。在...
Android所有系统资源图标android.R.drawable.xxx查看软件 源码地址:http://blog.csdn.net/dianyueneo/article/details/7197067
在Android开发中,Drawable是图形和图像处理的重要组成部分,它是一种可以绘制到Canvas上的对象,广泛用于界面元素的装饰和状态表示。以下是对Android中drawable集合的详细解释: 1. **Bitmap Drawable**: Bitmap ...
【玩转Android之Drawable的使用】 Drawable在Android开发中扮演着至关重要的角色,它是图形和图像的基础元素,广泛用于UI设计和自定义视图。在Android中,Drawable不仅仅局限于简单的图片,还包括各种复杂的图形和...
在Android开发中,Drawable是图形资源的核心组成部分,用于在用户界面上绘制各种图像,如按钮、背景、图标等。理解并熟练运用Drawable的各种高效用法对于优化应用性能和提升用户体验至关重要。以下是一些关于Android...
这个示例项目"android drawable"旨在展示如何在Android应用中有效地使用和显示`Drawable`资源。 `Drawable`在Android中扮演着多种角色,包括但不限于图片、背景、按钮状态、选择器等。它们可以通过XML或Java代码...
在Android开发中,Drawable是图形和图像的基本元素,它用于绘制视图的背景、按钮、图标等。系统提供了多种预定义的Drawable类型,如Shape、BitmapDrawable等,但有时我们可能需要实现更复杂的视觉效果,这时就需要...
在Android开发中,Drawable是图形和图像处理的重要组成部分,它涵盖了多种类型的图像资源,如颜色、形状、位图等。本篇文章将深入探讨Android的Drawable及其应用,通过一个实际的Demo来展示其功能和用法。 Drawable...
- `android:color`: 设置Drawable的颜色,支持十六进制、颜色资源引用和颜色状态选择器。 - `android:shape`: Shape Drawable的类型,如"rectangle", "oval", "line", "ring"等。 - `android:dither`: 是否启用...
本文详细介绍了Android `drawable`资源的基本概念及其在XML布局文件中的使用方式,特别是针对`ColorDrawable`和`GradientDrawable`两种类型的详细介绍。通过学习这些内容,开发者可以更好地理解和利用Android提供的...
在Android开发过程中,有时我们需要动态地根据图片名称来加载Drawable资源。这种需求虽然不常见,但在某些特定场景下却显得尤为重要,比如实现一个自定义控件时,需要根据不同的条件加载不同的图片资源。 #### 实现...
Android中的Selector Drawable是一种非常重要的图形资源,它允许我们根据组件的状态(如被点击、选中、悬停等)来改变其显示的图像。在Android开发中,Selector通常用于ListView、GridView、Button等控件,以实现...
本篇文章将深入探讨如何浏览和使用Android系统中的图片资源,特别是`android.R.drawable`中的资源。`android.R.drawable`是Android SDK提供的一个预定义的资源集合,包含了大量的图标和图形,适用于各种UI组件和状态...
本示例探讨的是如何使用Android的`drawable`资源来实现一个按钮的三种不同状态:正常状态、按压状态和焦点状态。这些状态的切换可以提供更好的用户体验,让用户清楚地感知到他们的操作。 首先,我们创建一个XML文件...
一款用于清理android项目多余资源文件的小工具、可以帮助你去除多余的没有用到的资源文件、让你的项目瘦身。
在Android开发中,`drawable`资源是至关重要的组成部分,它主要负责存储应用程序中使用的各种图形元素,如图标、背景图片等。本知识点将深入探讨`drawable`资源的使用、分类和适应不同屏幕密度的重要性。 首先,`...
Android 将网络的Url资源转换为Drawable资源方式 Android 中将网络的Url资源转换为Drawable资源方式是应用开发中常见的需求。下面我们将详细介绍该方式的实现方法和相关知识点。 为什么需要将Url资源转换为...