Gallery和自定义Adapter配合使用,实现图片预览

Gallery是一个可以拖动的列表,正中对应的是选中的东西.他和spinner有共同的父类:AbsSpinner

属性:

android:animationDuration="1000"   图片切换动画持续时间
android:spacing="8dp"            设置图片之间的间距
android:unselectedAlpha="0.6"      设置没有选择的图片的透明度

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.kale.gallery.MainActivity"
    android:orientation="vertical">

    <!--
        android:animationDuration="1000"    图片切换动画持续时间
        android:spacing="8dp"                 设置图片之间的间距
        android:unselectedAlpha="0.6"        设置没有选择的图片的透明度
     -->

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="用ImageView作预览图"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <ImageView
        android:id="@+id/imageView_id"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_gravity="center_horizontal"
        android:scaleType="fitXY"
        android:src="@drawable/ic_launcher" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="60dp"
        android:text="下方是gallery"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <Gallery
        android:id="@+id/gallery_id"
        android:layout_marginTop="10dp"
        android:layout_width="match_parent"
        android:layout_height="80dp"
        android:animationDuration="1000"
        android:spacing="8dp"
        android:unselectedAlpha="0.3"/>

</LinearLayout>

MainActivity.java

package com.kale.gallery;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.BaseAdapter;
import android.widget.Gallery;
import android.widget.Gallery.LayoutParams;
import android.widget.ImageView;

@SuppressWarnings("deprecation")
public class MainActivity extends Activity {

    ImageView iV;
    Gallery gallery;

    int[] imageIds = new int [] {
            R.drawable.appstore,
            R.drawable.cydia,
            R.drawable.itunes,
            R.drawable.mail,
            R.drawable.safair
    };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        viewInit();
        gallery.setAdapter(new ImageAdapter(this));
        gallery.setOnItemSelectedListener(new OnItemSelectedListener() {

            @Override
            public void onItemSelected(AdapterView<?> arg0, View arg1,
                    int arg2, long arg3) {
                // TODO 自动生成的方法存根
                iV.setImageResource(imageIds[arg2]);

            }

            @Override
            public void onNothingSelected(AdapterView<?> arg0) {
                // TODO 自动生成的方法存根

            }
        });
    }

    public class ImageAdapter extends BaseAdapter {
        private Context mContext;
            public ImageAdapter(Context context) {
            mContext = context;
        }

        public int getCount() {
            return imageIds.length;
        }

        public Object getItem(int position) {
            return position;
        }

        public long getItemId(int position) {
            return position;
        }

        public View getView(int position, View convertView, ViewGroup parent) {
            ImageView image = new ImageView(mContext);
            image.setImageResource(imageIds[position]);
            //设置缩放类型
            image.setScaleType(ImageView.ScaleType.FIT_XY);
            image.setAdjustViewBounds(true);
            //设置布局参数
            image.setLayoutParams(new Gallery.LayoutParams(
                LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
            return image;
        }
    }

    private void viewInit() {
        // TODO 自动生成的方法存根
        gallery = (Gallery) findViewById(R.id.gallery_id);
        iV = (ImageView)findViewById(R.id.imageView_id);
    }

}

Gallery和自定义Adapter配合使用,实现图片预览

时间: 2024-05-20 03:50:44

Gallery和自定义Adapter配合使用,实现图片预览的相关文章

dropzonejs中文翻译手册 DropzoneJS是一个提供文件拖拽上传并且提供图片预览的开源类库.

http://wxb.github.io/dropzonejs.com.zh-CN/dropzonezh-CN/ 由于项目需要,完成一个web的图片拖拽上传,也就顺便学习和了解了一下前端的比较新的技术:HTML5的api,作为一名前端的菜鸟,没什么可说的,直接分享自己学习的资料: 关于HTML5 的这些新的特性大家可以到Mozilla的开发者社区MDN https://developer.mozilla.org/zh-CN/ 上查HTML5的资料 还有就是发掘到的比较牛逼的一篇博客:http:/

angular中封装fancyBox(图片预览)

首先在官网下载最新版的fancyBox(一定要去最新网站,以前依赖的jquery版本偏低),附上链接:http://fancyapps.com/fancybox/3/ 然后在项目中引用jquery,然后在引用jquery.fancybox.min.css和jquery.fancybox.min.js. 如果需要动画和鼠标滚轮滚动效果还可以引入他提供的相关工具文件. 1.你可以通过链接.css和.js在你的html文件来安装fancyBox .确保您也加载了jQuery库.以下是用作示例的基本HT

实现QQ空间图片预览效果

今天项目遇到需求 要求 实现图片预览效果 .  类似于扣扣空间那种,本人也到网上找过 代码量太大了   ,类多到处是注释看的有点恶心 .然后自己写了一个图片预览的效果,其实很简单的 . 首先我们来分析一下 实现原理 :点击 图片 显示 新的窗口  滑动显示下一张  并且页码也跟随的变化, 轻触退出(本文代码没有) ;首先点击图片实现跳转时应该 携带当前图片页码 呵呵 gridview 里所有图片 地址信息 ,然后另一个显示图片页面实现可以用viewpager  事先加载好 然后 设置显示当前页

图片预览、画廊、查看、幻灯片插件

当年面对这样一个效果的时候,真是蛋疼,觉得自己尼玛出来还能靠这个吃饭嘛,唏嘘叹惋之余还是坚定信心,很多人都看不起你能做这一行(我特妈自己也不信),当你认真的做一件事时,自己都觉得可怕,加油吧,没什么能阻止你认真.老罗说的好:我尼玛不在乎输赢,我就是特么认真. 但是今年自己遇到很多事,总是不能安心,所以今天试着格式化自己,认真的写了这个以前让我蛋疼的插件. DEMO: 调用方法: <head> <script type="text/javascript" src=&qu

android 图片选择器 图片预览

需求:近段时间公司有要求写一个类似于微信发送图片时,用来选择照片的一个图片浏览器,本来想在网上找一个直接拿来用,找寻无果,只能自己写了.相信有很多网页也有这样的需求,这里我将写好的源码打包成library工程分享给大家!! 转载请注明出处:http://blog.csdn.net/a740169405/article/details/41622025 说明: ①本来打算自己写图片异步加载代码,后来因为赶时间,就改成直接引用开源框架universal-image-loader,一个        

js实现移动端图片预览:手势缩放, 手势拖动,双击放大...

.katex { display: block; text-align: center; white-space: nowrap; } .katex-display > .katex > .katex-html { display: block; } .katex-display > .katex > .katex-html > .tag { position: absolute; right: 0px; } .katex { font-style: normal; font

jquery实现上传图片及图片大小验证、图片预览效果代码

jquery实现上传图片及图片大小验证.图片预览效果代码 上传图片验证 */ function submit_upload_picture(){     var file = $('file_c').value;     if(!/.(gif|jpg|jpeg|png|gif|jpg|png)$/.test(file)){            alert("图片类型必须是.gif,jpeg,jpg,png中的一种")        }else{      $('both_form')

图片预览

下方点击小图标,上方显示大图标. 布局文件如下 <body> <h1>图片预览</h1> <p> <img id="largeImg" src="images/img1-lg.jpg" alt="Large Image" /> </p> <p class="thumbs"> <!-- 点击小图片 看到大图片 只是超连接的话 会新打开页面,

Uploadify—借助Uploadify插件实现图片预览时如何解决Chrome浏览器报“喔唷,崩溃啦”

今天借助Uploadify插件实现了图片预览及其上传的功能,可是在Chrome浏览器中会时不时地出现如下图所示的情况: 解决方法:使用这种方法引用该插件js文件: <script type="text/javascript"> document.write("<script type='text/javascript' src='<%=basePath %>js/uploadify/jquery.uploadify.min.js?" +