今天要分享一个非常简单的功能:

使用Android原生控件Gallery实现照片拖动的特效

实现思路如下:

在布局文件中定义一个Gallery控件

由于要显示多张图,为了方便,我直接引用了Android原生的图片资源

Gallery只是一个控件,为了将图片数据跟控件进行绑定,还需要一个继承BaseAdapter的自定义适配器

源码如下:

1、主activity和自定义内部类ImageAdapter:

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.widget.BaseAdapter;

import android.widget.Gallery;

import android.widget.ImageView;

import com.example.memorydemo.R;

public class SimpleGallery extends Activity {

private static final String TAG = "SimpleGallery";

@Override

protected void onCreate(Bundle onSavedInstance) {

super.onCreate(onSavedInstance);

setContentView(R.layout.simple_gallery_layout);

Gallery gallery = findViewById(R.id.gallery);

gallery.setAdapter(new ImageAdapter(this));

}

private class ImageAdapter extends BaseAdapter {

// 这里我们使用Android原生的资源图标

private int[] imageIds = {

android.R.drawable.btn_minus,

android.R.drawable.btn_radio,

android.R.drawable.ic_lock_idle_low_battery,

android.R.drawable.ic_menu_camera };

private Context mContext;

public ImageAdapter(Context context) {

mContext = context;

}

@Override

public int getCount() {

return imageIds.length;

}

@Override

public Object getItem(int position) {

return imageIds[position];

}

@Override

public long getItemId(int position) {

return position;

}

@Override

public View getView(int position, View convertView, ViewGroup parent) {

ImageView imageView;

if (convertView == null) {

Log.i(TAG, "convertView is null, create new imageview");

imageView = new ImageView(mContext);

} else {

Log.i(TAG, "Cast convertView to ImageView");

imageView = (ImageView) convertView;

}

imageView.setImageResource(imageIds[position]);

imageView.setScaleType(ImageView.ScaleType.FIT_XY);

// 注意这里要用Gallery.LayoutParams作为布局参数类型,源码中给出了建议(Views given to the Gallery should use

// Gallery.LayoutParams s their ayout parameters type)

// 由于Android原生图片很小,我将高度设置为 500,方便看效果

imageView.setLayoutParams(new Gallery.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 500));

return imageView;

}

}

}

2、布局文件 simple_gallery_layout.xml如下:

android:layout_width="match_parent"

android:layout_height="match_parent">

android:id="@+id/gallery"

android:layout_width="match_parent"

android:layout_height="match_parent" />

注意:

Gallery控件其实已经被废弃了,建议用 HorizontalScrollView 和 ViewPager 代替,源码中是这么解释的:

@deprecated This widget is no longer supported. Other horizontally scrolling widgets include {@link HorizontalScrollView} and {@link android.support.v4.view.ViewPager} from the support library.

后续会分享 HorizontalScrollView 和 ViewPager这两个控件是如何使用的。

以上就是Android使用Gallery实现照片拖动的特效的详细内容,更多关于Android 照片拖动特效的资料请关注云海天教程其它相关文章!

android 照片特效,Android使用Gallery实现照片拖动的特效相关推荐

  1. android 照片特效,android触摸时扭曲变形图片照片,图片特效

    [实例简介] 在手指触摸照片图片时扭曲变形图片照片,用于变脸,哈哈镜,旗帜飘动特效的应用中 [实例截图] [核心代码] MeshTest └── MeshTest ├── AndroidManifes ...

  2. android仿照360壁纸照片显示特效,Android仿360桌面手机卫士悬浮窗效果

    大家好,今天给大家带来一个仿360手机卫士悬浮窗效果的教程,在开始之前请允许我先说几句不相干的话. 不知不觉我发现自己接触Android已有近三个年头了,期间各种的成长少不了各位高手的帮助,总是有很多 ...

  3. 照片快照清除 android,如何在Android中删除和恢复照片

    对于智能手机用户而言,相机几乎变成了反射:您看到值得注意的东西,捕捉快照,并永久保留该内存.但是,如果这种特殊的花销不是永远值得的,那该怎么办呢?众所周知,纸上的快照难以分离,但Android画廊中的 ...

  4. android上传图片被旋转,input上传照片旋转解决办法

    需求很简单:h5拍照上传照片,然后显示出来 问题在:上传之后的图片在PC,IOS端均能正常显示,Android端显示的则是被旋转90度的. 直接上代码 下面这个方法传入file对象,然后会去除掉照片中 ...

  5. android拍照保存照片方向,Android:Camera2开发详解(上):实现预览、拍照、保存照片等功能...

    android.jpg 前言 在前几篇文章中介绍了如何调用系统相机拍照和使用Camera1的实现自定义相机拍照.人脸检测等功能 文章传送门: 接下来的几篇文章中,我将给大家介绍如何使用Camera2实 ...

  6. iphone照片恢复至android,将照片从Android传输到iPhone的8种方法很容易

    第1部分:如何使用dr.fone将照片从Android传输到iPhone? 如果您对将照片从Android传输到iPhone应选择哪种方法感到困惑,那么请比较所选方法的质量和速度.好吧,坦率地说,符合 ...

  7. iphone和android照片传输,将照片从Android传输到iPhone的8种方法很容易

    第1部分:如何使用dr.fone将照片从Android传输到iPhone? 如果您对将照片从Android传输到iPhone应选择哪种方法感到困惑,那么请比较所选方法的质量和速度.好吧,坦率地说,符合 ...

  8. Android中使用相机和相册获取照片,模仿朋友圈发说说

    话不多说,直接上图,如图: 这个功能相信很多人都会用到,下面来一步一步的设置这个功能. 1:首先布局我们的主界面,这里我使用activity_edit_diary.xml文件来当布局文件: 文件内容如 ...

  9. Android拍照或从相册中取照片

    此文章只为记录本人在开发中遇到的坑以及学到的知识,里面可能还是存在问题,如果有问题希望大家能指出来,谢谢! 1.拍照 拍照需要适配7.0和7.0以下的手机,然后还需要申请相机和SD卡的读写权限.这次没 ...

最新文章

  1. 【old】简单易用的鹰眼类源代码下载
  2. 使用Spring Security添加RememberMe身份验证
  3. Maven实战:Pom.xml详解
  4. 厉害了!牛顿法深度学习优化器,效果比肩SGD和Adam
  5. c语言某年某月的天数switch,在C语言中 使用switch语句编写“显示某年某月的天数”程序:...
  6. 好久不写日志了,现在开始,好好写了。。
  7. 关于PCIe有gen1升到gen3的方法
  8. 公司管理使用的文档[1]-软件技术服务合同模板
  9. python宣传视频 抖音_python下载抖音无水印视频
  10. Linux文字游戏制作软件,小精灵美化app
  11. MessageCenterUI.exe - 无法找到入口 无法定位程序输入点
  12. 文件23333333
  13. 手机删掉的照片怎么恢复
  14. 超轻量级通用人脸检测模型
  15. 今天开通了CNSD博客
  16. DNS 优化之IP直连
  17. 数据分析统计学基础之数据的趋势
  18. 21_Redis_浅析Redis缓存穿透和雪崩
  19. 手机网站实现一键拨号及html5短信发送功能JS代码(微信适用)
  20. 英诺森超级自动化能力实现

热门文章

  1. 安装python3.x解释器步骤,Windows下使Python2.x版本的解释器与3.x共存的方法
  2. 亿级用户百TB级数据的 AIOps 技术实践之路(增强版)
  3. k8s部署nginx
  4. 我的2013拾遗总结~ 多么痛的领悟!
  5. C++下caffe使用教程
  6. Android USB系统(一)
  7. JAVA#内部类'学习札记
  8. 手机必备的广告过滤利器---X浏览器
  9. ffmpeg Intel硬件加速总结
  10. python爬虫selenium-前程无忧