android 照片特效,Android使用Gallery实现照片拖动的特效
今天要分享一个非常简单的功能:
使用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实现照片拖动的特效相关推荐
- android 照片特效,android触摸时扭曲变形图片照片,图片特效
[实例简介] 在手指触摸照片图片时扭曲变形图片照片,用于变脸,哈哈镜,旗帜飘动特效的应用中 [实例截图] [核心代码] MeshTest └── MeshTest ├── AndroidManifes ...
- android仿照360壁纸照片显示特效,Android仿360桌面手机卫士悬浮窗效果
大家好,今天给大家带来一个仿360手机卫士悬浮窗效果的教程,在开始之前请允许我先说几句不相干的话. 不知不觉我发现自己接触Android已有近三个年头了,期间各种的成长少不了各位高手的帮助,总是有很多 ...
- 照片快照清除 android,如何在Android中删除和恢复照片
对于智能手机用户而言,相机几乎变成了反射:您看到值得注意的东西,捕捉快照,并永久保留该内存.但是,如果这种特殊的花销不是永远值得的,那该怎么办呢?众所周知,纸上的快照难以分离,但Android画廊中的 ...
- android上传图片被旋转,input上传照片旋转解决办法
需求很简单:h5拍照上传照片,然后显示出来 问题在:上传之后的图片在PC,IOS端均能正常显示,Android端显示的则是被旋转90度的. 直接上代码 下面这个方法传入file对象,然后会去除掉照片中 ...
- android拍照保存照片方向,Android:Camera2开发详解(上):实现预览、拍照、保存照片等功能...
android.jpg 前言 在前几篇文章中介绍了如何调用系统相机拍照和使用Camera1的实现自定义相机拍照.人脸检测等功能 文章传送门: 接下来的几篇文章中,我将给大家介绍如何使用Camera2实 ...
- iphone照片恢复至android,将照片从Android传输到iPhone的8种方法很容易
第1部分:如何使用dr.fone将照片从Android传输到iPhone? 如果您对将照片从Android传输到iPhone应选择哪种方法感到困惑,那么请比较所选方法的质量和速度.好吧,坦率地说,符合 ...
- iphone和android照片传输,将照片从Android传输到iPhone的8种方法很容易
第1部分:如何使用dr.fone将照片从Android传输到iPhone? 如果您对将照片从Android传输到iPhone应选择哪种方法感到困惑,那么请比较所选方法的质量和速度.好吧,坦率地说,符合 ...
- Android中使用相机和相册获取照片,模仿朋友圈发说说
话不多说,直接上图,如图: 这个功能相信很多人都会用到,下面来一步一步的设置这个功能. 1:首先布局我们的主界面,这里我使用activity_edit_diary.xml文件来当布局文件: 文件内容如 ...
- Android拍照或从相册中取照片
此文章只为记录本人在开发中遇到的坑以及学到的知识,里面可能还是存在问题,如果有问题希望大家能指出来,谢谢! 1.拍照 拍照需要适配7.0和7.0以下的手机,然后还需要申请相机和SD卡的读写权限.这次没 ...
最新文章
- 【old】简单易用的鹰眼类源代码下载
- 使用Spring Security添加RememberMe身份验证
- Maven实战:Pom.xml详解
- 厉害了!牛顿法深度学习优化器,效果比肩SGD和Adam
- c语言某年某月的天数switch,在C语言中 使用switch语句编写“显示某年某月的天数”程序:...
- 好久不写日志了,现在开始,好好写了。。
- 关于PCIe有gen1升到gen3的方法
- 公司管理使用的文档[1]-软件技术服务合同模板
- python宣传视频 抖音_python下载抖音无水印视频
- Linux文字游戏制作软件,小精灵美化app
- MessageCenterUI.exe - 无法找到入口 无法定位程序输入点
- 文件23333333
- 手机删掉的照片怎么恢复
- 超轻量级通用人脸检测模型
- 今天开通了CNSD博客
- DNS 优化之IP直连
- 数据分析统计学基础之数据的趋势
- 21_Redis_浅析Redis缓存穿透和雪崩
- 手机网站实现一键拨号及html5短信发送功能JS代码(微信适用)
- 英诺森超级自动化能力实现