`

图片显示

阅读更多
package cn.com.dne.scleanimation;

import android.app.Activity;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;

public class ScleAnimation extends Activity implements OnClickListener {   
  
    RelativeLayout layout_parent;   
       
    Button scale_btn;   
  
    /** Called when the activity is first created. */  
    @Override  
    public void onCreate(Bundle savedInstanceState) {   
        super.onCreate(savedInstanceState);   
        setContentView(R.layout.first);   
  
        scale_btn = (Button) findViewById(R.id.scale_btn);   
        scale_btn.setOnClickListener(this);   
  
        layout_parent = (RelativeLayout) findViewById(R.id.layout_parent);   
    }   
  
    @Override  
    public void onClick(View v) {   
        // TODO Auto-generated method stub   
        switch (v.getId()) {   
        case R.id.scale_btn:   
            displayPage();   
            v.setEnabled(false);   
            break;   
        case R.id.dismiss_btn:   
            dismissPage();   
            break;   
        }   
  
    }   
  
    View layout;   
    ImageView jobShadow;   
  
    public void displayPage() {   
        LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);   
        layout = inflater.inflate(R.layout.second, null);   
        layout.setId(Constant.KEY_LAYOUT_ID);   
        jobShadow = (ImageView) layout.findViewById(R.id.jobShadow);   
  
        Drawable ico = getResources().getDrawable(R.drawable.icon);   
        jobShadow.setBackgroundDrawable(ico);   
        ico.mutate().setAlpha(200);   
  
        LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(   
                LinearLayout.LayoutParams.FILL_PARENT,   
                LinearLayout.LayoutParams.FILL_PARENT);   
        layout_parent.addView(layout, layoutParams);   
  
        findDialogView();    
        ScaleAnimationHelper sAnimationHelper=new ScaleAnimationHelper(this, Constant.KEY_FIRSTPAGE);
        sAnimationHelper.ScaleInAnimation(layout);
    }   
  
    public void removeLayout() {   
  
        layout_parent.removeView(layout_parent   
                .findViewById(Constant.KEY_LAYOUT_ID));   
    }   
  
    Button dismiss_btn;   
  
    public void findDialogView() {   
        dismiss_btn = (Button) findViewById(R.id.dismiss_btn);   
        dismiss_btn.setOnClickListener(this);   
    }   
  
    public void dismissPage() {   
        ScaleAnimationHelper scaleHelper = new ScaleAnimationHelper(this,Constant.KEY_SECONDPAGE);   
        scaleHelper.ScaleInAnimation2(layout);   
        scale_btn.setEnabled(true);   
    }   
}  

 

package cn.com.dne.scleanimation;
import android.app.Activity;
import android.content.Context;
import android.view.View;
import android.view.animation.AccelerateInterpolator;
import android.view.animation.Animation;
import android.view.animation.AnimationSet;
import android.view.animation.ScaleAnimation;

public class ScaleAnimationHelper {
	Context con;
	int order;
	Object obj;

	public ScaleAnimationHelper(Context con, int order) {
		this.con = con;
		this.order = order;
	}
	
	public ScaleAnimationHelper(Object obj, Context con, int order)
	{
		this.obj = obj;
		this.con = con;
		this.order = order;
	}

	DisplayNextView listener;
	ScaleAnimation myAnimation_Scale;

	// 放大的类,不需要设置监听器
	public void ScaleOutAnimation(View view) {
		myAnimation_Scale = new ScaleAnimation(0.1f, 1.0f, 0.1f, 1f,
				Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF,
				0.5f);
		myAnimation_Scale.setInterpolator(new AccelerateInterpolator());
		AnimationSet aa = new AnimationSet(true);
		aa.addAnimation(myAnimation_Scale);
		aa.setDuration(500);

		view.startAnimation(aa);
	}

	public void ScaleInAnimation(View view) {

		listener = new DisplayNextView((Activity) con, order);

		myAnimation_Scale = new ScaleAnimation(0.1f, 1.0f, 0.1f, 1f,
				Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF,
				0.5f);
		myAnimation_Scale.setInterpolator(new AccelerateInterpolator());
		myAnimation_Scale.setAnimationListener(listener);
		AnimationSet aa = new AnimationSet(true);
		aa.addAnimation(myAnimation_Scale);
		aa.setDuration(1000);
		view.startAnimation(aa);
	}

	public void ScaleInAnimation2(View view)
	{
		if (obj != null)
		{
			listener = new DisplayNextView(obj, (Activity) con, order);
		} else
		{
			listener = new DisplayNextView((Activity) con, order);
		}

		myAnimation_Scale = new ScaleAnimation(1.0f, 0.0f, 1.0f, 0.0f,
				Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF,
				0.5f);
		myAnimation_Scale.setAnimationListener(listener);
		myAnimation_Scale.setInterpolator(new AccelerateInterpolator());

		AnimationSet aa = new AnimationSet(true);
		aa.addAnimation(myAnimation_Scale);
		aa.setDuration(1000);

		view.startAnimation(aa);
	}

}

 

package cn.com.dne.scleanimation;

import android.app.Activity;
import android.provider.SyncStateContract.Constants;
import android.view.View;
import android.view.animation.Animation;
import android.widget.RelativeLayout;

public class DisplayNextView implements Animation.AnimationListener {   
  
    Object obj;   
  
    // 动画监听器的构造函数   
    Activity ac;   
    int order;   
  
    public DisplayNextView(Activity ac, int order) {   
        this.ac = ac;   
        this.order = order;   
    }   
  
	public DisplayNextView(Object obj, Activity ac, int order)
	{
		this.obj = obj;
		this.ac = ac;
		this.order = order;
	}
    
    public void onAnimationStart(Animation animation) {   
    }   
  
    public void onAnimationEnd(Animation animation) {   
        doSomethingOnEnd(order);   
    }   
  
    public void onAnimationRepeat(Animation animation) {   
    }   
  
    private final class SwapViews implements Runnable {   
        public void run() {   
            switch (order) {   
            case Constant.KEY_SECONDPAGE:   
                ((ScleAnimation) ac).removeLayout();   
                
                RelativeLayout rl = (RelativeLayout) ((ScleAnimation) ac)
				.findViewById(R.id.layout_parent);
		rl.removeView((View) ((ScleAnimation) ac)
				.findViewById(Constant.KEY_LAYOUT_ID));
                break;   
            }   
        }   
    }   
  
    public void doSomethingOnEnd(int _order) {   
        switch (_order) {   
           
        case Constant.KEY_SECONDPAGE:   
        	 ((ScleAnimation) ac).layout_parent.post(new SwapViews()); 
          
            break;   
        }   
    }   
}  

 

package cn.com.dne.scleanimation;

public class Constant {

	public final static int KEY_FIRSTPAGE = 1;

	public final static int KEY_SECONDPAGE = 2;

	public final static int KEY_LAYOUT_ID = 3;
  public final static int KEY_SELECTJOB_LAYOUT_ID=12;
}

 

<?xml version="1.0" encoding="utf-8"?>   
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    android:orientation="vertical" android:layout_width="fill_parent"  
    android:layout_height="fill_parent" android:id="@+id/layout_parent">   
    <Button android:text="Scale" android:id="@+id/scale_btn"  
        android:layout_width="fill_parent" android:layout_height="wrap_content"></Button>   
</RelativeLayout>  

 

<?xml version="1.0" encoding="utf-8"?>   
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    android:layout_width="fill_parent" android:layout_height="fill_parent"  
    android:id="@+id/jobContent">   
    <ImageView android:layout_width="fill_parent"  
        android:layout_height="fill_parent" android:id="@+id/jobShadow" />   
    <Button android:layout_width="fill_parent" android:text="Dismiss"  
        android:layout_marginTop="20dp" android:layout_height="wrap_content"  
        android:src="@drawable/icon" android:layout_alignParentBottom="true"  
        android:id="@+id/dismiss_btn" />   
</RelativeLayout>  


 

分享到:
评论

相关推荐

    stm32f103图片显示_Stm32jpgpnggif_STM32F103_图片显示_doneq2k_

    本文将详细介绍如何在STM32F103上实现图片显示功能。 首先,我们需要理解STM32F103的硬件接口。通常,我们使用SPI或I2C接口连接到LCD显示屏,这些接口由STM32F103的GPIO引脚控制。LCD屏幕可能支持RGB565、RGB888等...

    QQ邮箱图片显示代码

    QQ邮箱图片显示代码是电子邮件发送过程中一个重要的技术环节,它涉及到如何在邮件中嵌入图片,使得接收者能够正常查看而不会看到“叉叉”或被提示为外站链接。通常,邮件系统出于安全考虑会阻止外部图片的直接显示,...

    java上传图片后立即将图片显示出来

    综上所述,"java上传图片后立即将图片显示出来"这一功能的实现涉及到Java的文件上传处理、IFrame技术的运用、前端JavaScript的交互以及服务器端的文件管理和安全控制等多个方面。理解这些关键点对于开发高质量的Web...

    图片显示几秒后消失

    "图片显示几秒后消失"的实现方法通常是结合HTML、CSS和JavaScript来完成的。 首先,`index.html`文件是网页的主文件,它包含着网页的基本结构。在HTML中,我们通常使用`&lt;img&gt;`标签来插入图片,例如: ```html 提示...

    IE无法显示png图片 IE部分图片显示为叉叉的解决办法

    莫名其妙的问题,IE 看网页中的部分图片是红叉,同样的网址,Firefox 中正常。...【IE无法显示png图片 IE部分图片显示为叉叉的解决办法】 http://www.cnblogs.com/oskycar/archive/2009/06/24/1510054.html

    非常好用的一款图片显示系统

    标题中的“非常好用的一款图片显示系统”表明我们讨论的是一款专门用于展示图片的应用程序或软件。这类系统通常具有用户友好的界面,高效处理图像的能力,以及多种图片格式的支持,旨在提供优质的图片浏览体验。 在...

    stm32f203 实验25 图片显示实验代码

    在这个"stm32f203 实验25 图片显示实验代码"中,我们将探讨如何在STM32F203上实现图片的显示功能,这对于开发图形用户界面(GUI)或实时数据可视化应用至关重要。 首先,要实现图片显示,我们需要一个显示设备,如...

    C#编写的用GDI绘制的图片显示、拖动、缩放自定义控件

    这个类将包含所有必要的属性、方法和事件处理程序,以实现图片显示、拖动和缩放的功能。例如,我们可以定义一个名为`CustomPictureBox`的类: ```csharp public class CustomPictureBox : Control { // ... } ``` ...

    stm32F103C8外部flash图片显示

    总结来说,"stm32F103C8外部flash图片显示"项目涵盖了STM32微控制器的SPI通信、图片文件解析与存储、TFT LCD驱动以及系统级的中断和定时器应用等多个方面,是嵌入式系统开发中的典型应用场景。通过这个项目,开发者...

    Discuz精品商业插件主题列表图片显示最新V4.4 商业版.zip

    Discuz精品商业插件主题列表图片显示最新V4.4 商业版 版本区别: [商/免]普通主题列表页图片展示模式 [商/免]图片列表模式 [商]瀑布流模式 [商]普通主题列表页多图模式 [商/免]显示贴子内容摘要 [商/免]设置摘要长度...

    网页打开后国图片显示几秒后自动消失

    网页加载过程中图片显示几秒后自动消失的问题,可能涉及到多个技术层面的原因,下面将详细解析这一现象可能出现的各种原因以及相应的解决方法。 首先,我们要明确图片加载的基本原理。当用户访问一个网页时,浏览器...

    VB 透明PNG图片显示控件

    "VB 透明PNG图片显示控件"正是为了解决这一需求而设计的。 首先,我们要理解PNG图像的透明性是通过Alpha通道实现的。Alpha通道不仅包含红色、绿色和蓝色信息,还包含一个透明度级别,范围从0(完全透明)到255...

    asp.net上传图片显示相册

    例如,你可以将图片的URL存储在一个列表或数据库中,然后在页面加载时,将这个数据源绑定到Repeater控件,Repeater会根据数据源自动创建多个图片显示的占位符,并填充相应的图片URL。 在前端展示部分,每个图片控件...

    ST7789V2 字符图片显示代码亲测可以用

    3. **图片显示**:图片显示涉及到读取图片文件(可能是BMP、JPEG或PNG等格式),转换成ST7789V2能理解的数据格式,然后写入到控制器的帧缓冲区。这一过程可能涉及到颜色空间转换、图像缩放和数据打包等步骤。 4. **...

    实验41 图片显示实验

    在本文中,我们将深入探讨如何在STM32微控制器上实现LCD显示图片的实验,即“实验41 图片显示实验”。STM32是一款广泛应用于嵌入式系统的高性能微控制器,而LCD(Liquid Crystal Display)则常用于显示各种信息。在...

    jquery高仿新浪微博图片显示插件

    【jQuery高仿新浪微博图片显示插件】是一种基于JavaScript库jQuery实现的、旨在模仿新浪微博图片展示效果的组件。这款插件的开发灵感来源于新浪微博的图片浏览功能,它旨在为用户提供一个高度自定义且易于集成的解决...

    基于51单片机的图片显示系统源码

    基于51单片机的图片显示系统是一种通过编程实现的硬件控制系统,能够在单片机的显示屏上显示图片。这种系统通常利用单片机的GPIO口驱动LCD或者OLED显示屏,通过特定的算法将图片数据转换为适合显示屏显示的格式。...

    STM32嵌入式课程设计图片显示

    该资源为基于Stm32 开发的图片显示,内含全部代码。 实验现象: 本实验开机的时候先检测字库,然后检测SD卡是否存在,如果SD卡存在,则开始查找SD卡根目录下的PICTURE文件夹, 如果找到则显示该文件夹下面的图片...

    基于51单片机的12864液晶图片显示全套程序

    本项目"基于51单片机的12864液晶图片显示全套程序"是针对52系列51单片机设计的一个完整的解决方案,旨在实现12864液晶屏的图片显示功能。12864液晶屏是一种具有128列和64行像素的显示设备,常用于各种仪表、控制面板...

    多张图片显示控件DEMO程序

    【标题】"多张图片显示控件DEMO程序"是一个示例项目,旨在演示如何在应用程序中使用特定的图片显示控件,即PictureViewLib。这个控件库可能是一个专门设计用于高效、灵活地展示多张图片的工具,适合于图像浏览应用或...

Global site tag (gtag.js) - Google Analytics