Android资源之图像资源(淡入淡出、嵌入)

今天把图像资源剩余的几个知识梳理一下。淡入淡出资源同图像状态和图像级别资源一样可以切换两个图像(目前只支持两个图像的切换),并且使这两个图像以淡入淡出效果进行切换。如上一篇博文介绍的开关电灯一样,如果加上淡入淡出效果会更好。

下面在res/drawable目录中建立一个cross_fade.xml文件,该文件内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<!-- transition标签中只能有两个item标签 -->
<transition xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/lamp_off"></item>
     <item android:drawable="@drawable/lamp_on"></item>
</transition>

在main_layout文件中引用该资源文件,代码如下:

  <ImageView
      android:id="@+id/imageview_lamp"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:src="@drawable/cross_fade"
      />

从第一个图像(第一个item‘中指定的图像)切换到第2个图像要使用TransitionDrawable.startTransition方法,从第2个图像切换到第1个图像要使用TransitionDrawable.reverseTransition方法,如下代码所示:

public class MainActivity extends Activity {
	private ImageView ivLamp;

	@SuppressLint("NewApi")
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		//Resources res=getResources();
		//Drawable drawable=res.getDrawable(R.drawable.bitmap_test);
		//TextView txt=(TextView)findViewById(R.id.textView);
		//txt.setBackground(drawable);
		ivLamp=(ImageView)findViewById(R.id.imageview_lamp);
		//设置level为8,显示lamp_off.png
		//ivLamp.setImageLevel(8);

	}

	//"开灯"按钮的单击事件方法
	public void onClick_LampOn(View view)
	{
		//设置level为15,显示lamp_on.png
		//ivLamp.setImageLevel(15);
		TransitionDrawable drawable=(TransitionDrawable)ivLamp.getDrawable();
		//从第一个图像切换到第2个图像。其中使用1秒(1000毫秒)时间完成淡入淡出效果
		drawable.startTransition(1000);
	}
	//"关灯"按钮的单击事件方法
		public void onClick_LampOff(View view)
		{
			//设置level为6,显示lamp_off.png
			//ivLamp.setImageLevel(6);
			TransitionDrawable drawable=(TransitionDrawable)ivLamp.getDrawable();
			//从第2个图像切换到第1个图像。其中使用1秒(1000毫秒)时间完成淡入淡出效果
			drawable.reverseTransition(1000);
		}

}

淡入淡出的效果如下图所示:

如果显示的图像要求小于装载图像的视图,可以考虑使用嵌入图像资源。嵌入图像资源是XML格式的文件,只有一个<inset>标签。使用如下的4个属性设置图像距离上下左右4个方向的距离。

android:insetTop:图像距离上边的距离。

android:insetRight:图像距离右侧的距离。

android:insetBottom:图像距离底边的距离。

android:insetLeft:图像距离左侧的距离。

这个嵌入图像资源很好理解,故在此就不给出例子了。

转载请注明出处:http://blog.csdn.net/android_jiangjun/article/details/33360661

Android资源之图像资源(淡入淡出、嵌入),布布扣,bubuko.com

时间: 2024-10-12 15:13:58

Android资源之图像资源(淡入淡出、嵌入)的相关文章

Android资源之图像资源(1)

以前看别人的程序的drawable文件夹里有xml资源,说实话第一次见到这样的xml图像资源时,我真心不知道是干什么的.抽空学习了一下图像资源,才了解了这类图像资源的妙用.下面我来分享一下这部分知识: Android 中的图像资源文件保存在res/drawable目录中.在图像资源目录中不仅可以存储各种格式(jpg,png,gif等)的图像文件,还可以使用各种XML格式的图像资源来控制图像的状态 和行为. 1.普通图像资源 Android支持3种图像格式:png.jpg和gif.官方推荐使用pn

Android资源之图像资源(图像级别资源)

图像状态资源只能定义有限的几种状态.如果需要更多的状态,就要使用图像级别资源.在该资源文件中可以定义任意多个图像级别.每个图像级别是一个整数区间,可以通过ImageView.setImageLevel或Drawable.setLevel方法切换不同状态的图像. 图像级别资源是XML格式的文件,必须将<level-list>标签作为XML的根节点.<level-list>标签中可以有任意多个<item>标签,每一个<item>标签表示一个级别区间.级别区间用a

Android资源之图像资源(状态图像资源)

在上一篇博文中.我主要解说了XML图像资源中的图层资源,在此图像资源博文中我会给大家陆续解说XMl图像资源的图像状态资源.图像级别资源.淡入淡出资源.嵌入图像资源.剪切图像资源和外形资源. 1.图像状态资源: Android SDK提供的Button控件默认样式显得有些单调.并且这样的样式与炫丽的界面搭配在一起极不协调.当然.我们能够使用ImageView或ImgaeButton控件配合不同状态的图像做出非常酷的button,这里我给出用java代码实现button按下与正常状态的特效: btn

Android-自定义图像资源的使用(1)

Android-自定义图像资源的使用 2014年4月28日 周一 天气晴朗 心情平静 本篇博文给大家介绍一下,在Android开发中经常用到的一些图像资源,详细内容麻烦请各位认真查看官网,下面附上一个链接:http://developer.android.com/guide/topics/resources/drawable-resource.html,本篇博客主要给出使用示例,让童鞋们对这些图像资源有个直观的了解. 代码资源:http://download.csdn.net/detail/ww

Android-自己定义图像资源的使用(1)

Android-自己定义图像资源的使用 2014年4月28日 周一 天气晴朗 心情平静 本篇博文给大家介绍一下,在Android开发中经经常使用到的一些图像资源,具体内容麻烦请各位认真查看官网.下面附上一个链接:http://developer.android.com/guide/topics/resources/drawable-resource.html,本篇博客主要给出使用演示样例,让童鞋们对这些图像资源有个直观的了解. 代码资源:http://download.csdn.net/deta

Android-自定义图像资源的使用(2)

Android-自定义图像资源的使用 2014年4月29日 上一篇博客,介绍前面几种图像资源的使用,本篇博客把剩下的全部介绍完: 普通图像资源 XML图像资源 Nine-patch图像资源 XML Nine-patch图像资源 图层(Layer)图像资源 图像状态(state)资源 图像级别(Level)资源 淡入淡出(transition)资源 嵌入(Inset)图像资源 剪切(Clip)图像资源 比例(Scale)图像资源 外形(Shape)图像资源 代码资源:http://download

基于Android淡入淡出弹幕实现

最近遇到需求,需要在某张用户发表的图片中展示评论,方式是以淡入淡出的弹幕形式.需求为淡入事件t1->淡出t2,所有弹幕依次开始播放,中间一定的时间间隔deltaT.仔细考虑之后,想到以下实现方式,现总结下来并进行实现.分析以及比较. 不妨认定弹幕的画布为BarrageView:每条弹幕的绘制为BarrageItemView. 属性动画 从只有一条弹幕开始思考,我们需要设计一个属性动画,负责淡入: 在该动画的完成回调函数onAnimationEnd中启动淡出动画,在淡出动画的完成回调函数中,对该B

Android复习(二)应用资源 --&gt; 动画

没什么好总结的 复制自 https://developer.android.google.cn/guide/topics/resources/animation-resource 有需要的可以查看官方文档 动画资源 一个动画资源可以定义以下两种动画类型之一: 属性动画 通过使用 Animator 在设定的时间段内修改对象的属性值来创建动画. 视图动画 使用视图动画框架可以创建两种类型的动画: 补间动画:通过使用 Animation 对单张图片执行一系列转换来创建动画 帧动画:通过使用 Anima

Andriod界面设计适配和Android Studio中的资源

Android的碎片化已经被喷了好多年,随着国内手机厂商的崛起,碎片化也越来越严重,根据OpenSignal的最新调查,2014年市面上有18796种不同的Android设备,作为开发者,一个无法回避的难题就是需要适配各种各样奇奇怪怪的机型. 设备机型不同必然也会导致屏幕大小和分辨率(Resolution)的不同,但是无论分辨率有多大,屏幕有多大,我们手指触控范围的大小不会发生变化,所以最优的适配方式应该是指定大小的控件在所有的设备上的显示都一样. Android的官方文档对此也有明确的说明 W