在iphone手机上用手指拖动图片移动,这功能很Cool,咱Android也不能含糊,用Gallery类就可以实现这个功能。
今天我就做了个小小的电子相册:
假设你已经新建好了项目。
首先我们事先准备好的图片存放在drawable文件夹下,然后新建一个接口:
-
publicinterfaceImageResource{
- Integer[]dImageID={
- R.drawable.sample_0,
- R.drawable.sample_1,
- R.drawable.sample_2,
- R.drawable.sample_3,
- R.drawable.sample_4,
- R.drawable.sample_5,
- R.drawable.sample_6,
- R.drawable.sample_7,
- };
- }
这个接口里有一个int型的数组保存了咱drawable下的图片,这样方便以后修改。
要用Gallery实现这个功能,先要有一个容器来存放Gallery要显示的图片,我使用的是一个继承自BaseAdapter的ImageAdapter。这个电子相册分两部分,上部分是用户可以拖动图像列表,下部分是用户选中上面图像后更大的显示出来。
负责上部分显示的ImageView是imageAll,负责下部分显示的是imageOne,代码如下:
-
importandroid.app.Activity;
-
importandroid.content.Context;
-
importandroid.content.res.TypedArray;
-
importandroid.os.Bundle;
-
importandroid.view.View;
-
importandroid.view.ViewGroup;
-
importandroid.widget.BaseAdapter;
-
importandroid.widget.ImageView;
-
importandroid.widget.Gallery;
-
-
publicclassHelloGalleryextendsActivity{
-
privateImageViewimageOne;
-
privateImageViewimageAll;
-
- @Override
-
publicvoidonCreate(BundlesavedInstanceState){
-
super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
-
- imageOne=(ImageView)findViewById(R.id.imageView);
-
- Gallerygallery=(Gallery)findViewById(R.id.gallery);
-
- gallery.setAdapter(newImageAdapter(this));
-
- }
-
classImageAdapterextendsBaseAdapterimplementsImageResource{
-
privateintgalleryItemBackground;
-
privateContextcontext;
-
-
publicImageAdapter(Contextcontext){
-
this.context=context;
-
- TypedArraya=obtainStyledAttributes(R.styleable.Gallery1);
- galleryItemBackground=a.getResourceId(
- R.styleable.Gallery1_android_galleryItemBackground,0);
- a.recycle();
- }
-
-
publicintgetCount(){
-
returndImageID.length;
- }
-
-
publicObjectgetItem(intposition){
-
returnposition;
- }
-
-
publiclonggetItemId(intposition){
- imageOne.setScaleType(ImageView.ScaleType.FIT_CENTER);
-
returnposition;
- }
-
-
publicViewgetView(intposition,ViewconvertView,ViewGroupparent){
- imageAll=newImageView(context);
- imageAll.setImageResource(dImageID[position]);
- imageAll.setLayoutParams(newGallery.LayoutParams(120,120));
- imageAll.setScaleType(ImageView.ScaleType.FIT_XY);
- imageAll.setBackgroundResource(galleryItemBackground);
-
returnimageAll;
- }
- }
- }
布局文件如下:
Mail.xml:
-
<?xmlversion="1.0"encoding="utf-8"?>
-
<LinearLayoutxmlns: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"
- />
-
<Galleryandroid:id="@+id/gallery"
-
android:layout_width="fill_parent"
-
android:layout_height="wrap_content">
-
</Gallery>
-
-
<ImageViewandroid:id="@+id/imageView"
-
android:layout_height="fill_parent"
-
android:layout_width="fill_parent">
-
</ImageView>
-
</LinearLayout>
下面就是上文中提到的attr.xml:
Attr.xml:
-
<?xmlversion="1.0"encoding="utf-8"?>
-
<resources>
-
<declare-styleablename="Gallery1">
-
<attrname="android:galleryItemBackground"/>
- </declare-styleable>
-
<declare-styleablename="LabelView">
-
<attrname="text"format="string"/>
-
<attrname="textColor"format="color"/>
-
<attrname="textSize"format="dimension"/>
- </declare-styleable>
-
</resources>
分享到:
相关推荐
Android开发开发技巧之 EditText 属性、 ProgressBar 各种样式大全 android用户界面之EditText教程实例汇 android用户界面之ListView教程实例汇 android用户界面之Toast教程实例汇 android用户界面之AlarmManager...
故本电子相册选 择Android开发平台,开发出一款免费、实用、性能优越、受市场欢迎的手机应用。 1.2安卓电子相册市场需求 电子相册是指可以在电脑上或者是在移动终端上观赏的区别于CD/VCD的静止图片的特 殊文档,其...
android开发的酷炫电子相册图片浏览器
Android 应用项目开发源码 参考和学习使用
余志龙、陈昱勋、郑名杰、陈小风,分别来自手机制造业、电视媒体业、网络、电信产业、软件开发等领域,擅长嵌入式系统软件设计、J2ME游戏开发、Android开发,以及12EE、JSP、Servlet、Java Bean、PHP、C#等程序语言...
2.3 android应用程序架构——从此开始 15 2.4 可视化的界面开发工具 18 2.5 部署应用程序到android手机 19 第3章 用户人机界面 22 3.1 更改与显示文字标签 23 3.2 更改手机窗口画面底色 24 3.3 ...
余志龙、陈昱勋、郑名杰、陈小风,分别来自手机制造业、电视媒体业、网络、电信产业、软件开发等领域,擅长嵌入式系统软件设计、J2ME游戏开发、Android开发,以及12EE、JSP、Servlet、Java Bean、PHP、C#等程序语言...
余志龙、陈昱勋、郑名杰、陈小风,分别来自手机制造业、电视媒体业、网络、电信产业、软件开发等领域,擅长嵌入式系统软件设计、J2ME游戏开发、Android开发,以及12EE、JSP、Servlet、Java Bean、PHP、C#等程序语言...
余志龙、陈昱勋、郑名杰、陈小风,分别来自手机制造业、电视媒体业、网络、电信产业、软件开发等领域,擅长嵌入式系统软件设计、J2ME游戏开发、Android开发,以及12EE、JSP、Servlet、Java Bean、PHP、C#等程序语言...
基于Android的电子相册设计与实现.pdf
2.3 Android应用程序架构——从此开始 2.4 可视化的界面开发工具 2.5 部署应用程序到Android手机 第3章 用户人机界面 3.1 更改与显示文字标签 3.2 更改手机窗口画面底色 3.3 更改TextView文字...
RatingBar主要用在电子相册、网上书店和对文章进行评分的功能。 对于博文地址:【Android 开发】:UI控件之 RatingBar 评分控件的使用 http://blog.csdn.net/xukunhui2/article/details/9034413
基于Android平台开发的相册整理软件开发源码+项目说明(根据照片拍摄的时间、地点将用户手机上面的照片整理编排展示给用户,用户可以批量整理照片,查看照片,删除照片,重命名文件夹,选择照片源、备份等操作).zip
该电子相册实现了android自带电子相册的基本功能,适合android入门学习
1、该资源内项目代码经过严格调试,下载即用确保可以运行! 2、该资源适合计算机相关专业(如计科、人工智能、大数据、数学、电子信息等)正在做课程...Android平台下的相册预览、选择、压缩库(开发源码+项目说明).zip
基于Android平台开发的相册整理软件源码+项目说明(根据照片拍摄的时间、地点将用户手机上面的照片整理编排展示给用户,用户可以批量整理照片,查看照片,删除照片,重命名文件夹,选择照片源、备份等操作).zip
2.3 Android应用程序架构——从此开始 2.4 可视化的界面开发工具 2.5 部署应用程序到Android手机 第3章 用户人机界面 3.1 更改与显示文字标签 3.2 更改手机窗口画面底色 3.3 ...
Android项目OCR文字识别.rar介绍 ...本资源为Android开发者提供了一个强大的OCR文字识别解决方案,可广泛应用于各类移动应用中。通过二次开发定制,可以实现更多个性化的功能,满足不同用户的需求。
安卓移动开发课程设计/Android期末大作业-拼图游戏 可以调用安卓 iOS相册相机 - 运行中有什么问题可以私聊博主,本人高级安卓工程师,主页置顶有常见爆红解决的方法,以及更多代码项目 ## 项目备注 1、该资源内项目...