使用Drawable资源之使用ClipDrawable资源
来源:互联网 发布:java object转换date 编辑:程序博客网 时间:2024/05/22 00:17
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>
<?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>
<?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);
- }
- }
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,还可以做图片进度条
0 0
- 使用Drawable资源之使用ClipDrawable资源
- 使用Drawable资源之使用ClipDrawable资源
- 初学Android,使用Drawable资源之使用ClipDrawable资源(十六)
- 使用Drawable资源之使用ClipDrawable资源(十六)
- Android使用Drawable资源之使用ClipDrawable资源 实现进入条
- Android使用Drawable资源之使用ClipDrawable资源 实现图片缓慢展示
- Drawable资源---ClipDrawable资源
- Android基础学习,使用Drawable资源之ClipDrawable资源,实现图片在特定位置展开。
- ClipDrawable资源的使用
- ClipDrawable资源使用
- Android之ClipDrawable资源简单使用
- Android-drawable资源-clipdrawable
- 使用Drawable资源之使用LayerDrawable资源
- Drawable资源资源使用
- Drawable资源---使用原始资源
- 使用(Drawable)资源
- 使用drawable资源
- 继续使用drawable资源
- PowerShell介绍 第五回 字符串及其操作符
- ANT教程之四 Ant属性任务
- EM算法
- 结构体初识———结构体成员
- C# DataSet性能最佳实践
- 使用Drawable资源之使用ClipDrawable资源
- ANT教程之五 Ant属性文件
- APT柬埔寨站第二比赛日战报
- Android 之 Binder与进程间通信
- 很好的几个Managed Directx 例子
- PowerShell介绍 第六回 WMI介绍
- 直接使用Id和使用document.getElementById()的比较
- I was trying to solve problem '1234 - Harmonic Number', I wrote the following code
- ANT教程之六 Ant数据类型