package com.testgallery.test;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.Animation;
import android.view.animation.AnimationSet;
import android.view.animation.ScaleAnimation;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.Gallery;
import android.widget.ImageView;
import android.widget.AdapterView.OnItemClickListener;
public class TestGallerActivity extends Activity {
private Gallery gallery;
private AnimationSet manimationSet;
private int[] imgs;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
init();
}
private void init(){
imgs=new int[]{R.drawable.a,R.drawable.c,R.drawable.b};
gallery = (Gallery)findViewById(R.id.gy_main);
ImageAdapter imgAdapter = new ImageAdapter(this,imgs);
gallery.setAdapter(imgAdapter);
gallery.setSelection(imgs.length/2);
gallery.setOnItemClickListener(listener);
}
int temp = 10;
private OnItemClickListener listener = new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
if(position != temp){
temp = position;
AnimationSet animationSet = new AnimationSet(true);
if(manimationSet!=null&&manimationSet!=animationSet){
// ScaleAnimation scaleAnimation = new ScaleAnimation(1,0.5f,1,0.5f,
// Animation.RELATIVE_TO_SELF,0.5f, //使用动画播放图片
// Animation.RELATIVE_TO_SELF,0.5f);
// scaleAnimation.setDuration(1000);
// manimationSet.addAnimation(scaleAnimation);
// manimationSet.setFillAfter(true); //让其保持动画结束时的状态。
// view.startAnimation(manimationSet);
if(null!=manimationSet)manimationSet.setFillAfter(false);
}
ScaleAnimation scaleAnimation = new ScaleAnimation(1f,1.5f,1f,1.5f,
Animation.RELATIVE_TO_SELF,0.5f,
Animation.RELATIVE_TO_SELF,0.5f);
scaleAnimation.setDuration(1000);
animationSet.addAnimation(scaleAnimation);
animationSet.setFillAfter(true);
view.startAnimation(animationSet);
manimationSet = animationSet;
}else{
if(null!=manimationSet)manimationSet.setFillAfter(false);
}
}
};
class ImageAdapter extends BaseAdapter{
private Context ct;
private int[] data;
public ImageAdapter(Context ct,int[] data){
this.ct=ct;
this.data=data;
}
@Override
public int getCount() {
return data.length;
}
@Override
public Object getItem(int position) {
return data[position];
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = null;
if(convertView==null){
ImageView img = new ImageView(ct);
img.setImageResource(data[position]);
view=img;
}else{
view=convertView;
}
return view;
}
}
}
分享到:
相关推荐
最近在研究android_APIDEMO的时候,忽然想到能否在Gallery中某个图片被选中的时候,该图片会自动变大! 研究了很多网上的demo,期间找到有一个demo是用动画的效果将该图片变大,而我想在不用动画的方法来直接将他...
Gallery实现一组图片播放 双击放大缩小,手势也能实现放大缩小功能。滑动播放图片。嵌套在自己的项目中,直接能用,我就是在实际项目中进行整理的
一个关于android Gallery图片点击后渐进放大缩小的例子。
android 循环gallery 选中时图片放大 可按钮控制左右 带图片选中时弹出动画效果`
Gallery选中高亮和无限循环,http://blog.csdn.net/cmdkmd/article/details/7576307
android gallery的使用 可以 循环 带左右按钮控制 选中时图片放大
AndroidTouchGallery 支持双击或双指缩放的Gallery(用ViewPager实现) 相比PhotoView,在被放大后依然能滑到下一个item,并且支持直接从url和文件中获取图片,
gallery显示图片,双击变大,双击变小,可拖拽
gallery选中放大动画效果,以满足一些特定的效果
1.gallery循环 2.java反射机制获取图片 3.可以从gallery中删除图片 初学必看。。
Gallery是图片浏览组件,主要实现横向显示图片列表,实现图片浏览。其中使用Adapter继承BaseAdapter
主要通过gallery实现侧滑,并且能够使在左右两边显示部分的图片
Android Gallery 自定义ImageView和Gallery实现图片浏览功能,类似Android图库软件,主要实现的功能有:图片左右滑动、放大缩小、放大弹回、缩小弹回。 一开始使用Viewpager实现图片浏览,发现两张图片滑动时没有...
Android图片放大缩小,点击进行放大,再次点击就缩小到原来的地方.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
Android++gallery实现选中放大的效果
自定义的ImageView, 跟Gallery 同时支持图片的触控缩放,拖拽, 并且兼容gallery的滑动切换图片, 整体功能实现, 但效果还有些不尽如人意, 如有大神, 多谢指教!
实现对指定图片的多点触控 实现缩放功能 很好的实现对指定图片的放大缩小 里面加入了gallery 容器 实现多张图片的存储
android中运用gallery进行图片浏览,并用定时器实现图片的自动滑动浏览。
一个用Gallery来显示图片,并且可拖动和放大图片。