之前听说gallery做图片浏览很不错。最近也听到一朋友要做这个,听他说要改gallery源码,我想应该不用那么复杂吧。
游览图片就是点击图片放大,看代码吧。
package com.hua.com;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
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.AdapterView.OnItemClickListener;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.BaseAdapter;
import android.widget.Gallery;
import android.widget.ImageView;
public class TestGalleryActivity 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.d,R.drawable.y,R.drawable.f};
gallery = (Gallery)findViewById(R.id.gy_main);
ImageAdapter imgAdapter = new ImageAdapter(this,imgs);
gallery.setAdapter(imgAdapter);
gallery.setSelection(imgs.length/2);
gallery.setOnItemClickListener(listener);
}
private OnItemClickListener listener = new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
if(position!=0&&position!=4){
AnimationSet animationSet = new AnimationSet(true);
if(manimationSet!=null&&manimationSet!=animationSet){
ScaleAnimation scaleAnimation = new ScaleAnimation(2,0.5f,2,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);
}
ScaleAnimation scaleAnimation = new ScaleAnimation(1,2f,1,2f,
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;
}
}
}
布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<Gallery
android:id="@+id/gy_main"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center_horizontal"
android:spacing="10dip"
android:layout_centerHorizontal="true"
/>
</LinearLayout>
- 大小: 9.4 KB
- 大小: 9.8 KB
分享到:
相关推荐
一个用Gallery来显示图片,并且可拖动和放大图片。
包括的功能有:手指划动切换图片,点击图片隐藏导航条,放大图片、分享图片、复制图片等等。显示的图片包括本地图片、相册图片、网络图片。并且能够处理下载和cache(缓存)来自互联网图片。 注意:请在Mac下解压...
NULL 博文链接:https://flyingsir-zw.iteye.com/blog/1456518
gallery弹出dialog,实现微信的点击图片放大
一个关于android Gallery图片点击后渐进放大缩小的例子。
Gallery实现一组图片播放 双击放大缩小,手势也能实现放大缩小功能。滑动播放图片。嵌套在自己的项目中,直接能用,我就是在实际项目中进行整理的
android 循环gallery 选中时图片放大 可按钮控制左右 带图片选中时弹出动画效果`
jquery仿flash图片放大相册的插件代码(Zoomer Gallery)下载 jquery仿flash的图片幻灯片播放特效实例完整版 jquery仿LightBox图片盒子单击逐渐放大的图片展示的插件下载 jquery仿Lightbox的插件jQuery UI....
Gallery是图片浏览组件,主要实现横向显示图片列表,实现图片浏览。其中使用Adapter继承BaseAdapter
1.gallery循环 2.java反射机制获取图片 3.可以从gallery中删除图片 初学必看。。
使用gallery实现图片滑动的同时 还实现了被选中的图片放大
通过jq控制 动态在页面上点击图片放大单张图片,以获得更清晰的效果
最近在研究android_APIDEMO的时候,忽然想到能否在Gallery中某个图片被选中的时候,该图片会自动变大! 研究了很多网上的demo,期间找到有一个demo是用动画的效果将该图片变大,而我想在不用动画的方法来直接将他...
Android图片放大缩小,点击进行放大,再次点击就缩小到原来的地方.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
Silverlight实现的图片放大效果
优化过的基于jquery 的 图片放大镜插件jquery-photo-gallery
主要通过gallery实现侧滑,并且能够使在左右两边显示部分的图片
jquery仿flash图片放大相册的插件代码(Zoomer Gallery)下载.rar
gallery显示图片,双击变大,双击变小,可拖拽
利用gallery滑动实现图片放大的效果。新手写的,勿喷。有需要的可以拿去看看、分享给大家