• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > Android中使用GridView和ImageViewSwitcher实现电子相册简单功能,gridviewimageview

Android中使用GridView和ImageViewSwitcher实现电子相册简单功能,gridviewimageview

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了Android中使用GridView和ImageViewSwitcher实现电子相册简单功能,gridviewimageview等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

Android中使用GridView和ImageViewSwitcher实现电子相册简单功能,gridviewimageview


我们在手机上查看相册时,首先看到的是网格状的图片展示界面,然后我们选择想要欣赏的照片点击进入,这样就可以全屏观看该照片,并且可以通过左右滑动来切换照片。如下图的显示效果:

首先我们先罗列一下本次实现所要用的知识点:

(1)首页界面,我们需要可以通过GridView来实现,有关GridView的实现代码以及讲解请参照本人相关博文:

Android中GridView通过自定义适配器(未优化)实现图文视图排列

(2)具体照片的展示以及左右切换效果,可以实现这个效果的方法很多(ViewPager,ViewFlipper,ImageViewSwitcher等),可以参照相关博文:

Android中使用ViewPager实现屏幕页面切换和页面切换效果

Android中使用ViewFlipper实现屏幕页面切换(关于坐标轴的问题已补充更改)

Android中使用ImageViewSwitcher实现图片切换轮播导航效果

(3)实现Activity之间的跳转以及照片标记位置的传递需要用到intent,并分别使用putExtra以及getExtra,传入和获取照片的标记位置。

(关于intent,后期会有专门博文介绍具体使用,请大家持续关注哦)

下面我们开始功能的实现:

第一步:Layout中建立首页GridView布局grid_layout.xml文件:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:orientation="vertical" android:layout_width="match_parent"
 4     android:layout_height="match_parent">
 5     <GridView
 6         android:id="@+id/gv"
 7         android:layout_width="match_parent"
 8         android:layout_height="wrap_content"
 9         android:numColumns="auto_fit"
10         android:verticalSpacing="10dp"
11         android:gravity="center"
12         android:horizontalSpacing="10dp"></GridView>
13 </LinearLayout>

第二步:Layout中建立GridView布局中每个item的布局griditem_layout.xml文件:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     xmlns:app="http://schemas.android.com/apk/res-auto"
 4     android:orientation="vertical" android:layout_width="wrap_content"
 5     android:layout_height="wrap_content"
 6     android:gravity="center">
 7     <ImageView
 8         android:layout_width="wrap_content"
 9         android:layout_height="wrap_content"
10         android:adjustViewBounds="true"
11         android:maxWidth="280dp"
12         android:maxHeight="280dp"
13         android:src="@mipmap/a1"
14         android:id="@+id/imageView" />
15 </LinearLayout>

这里的设置需要根据实际展示图片的宽度以及要展示的容器(手机)分辨率来设置等比例缩放,避免排版混乱的情况出现。

 

第三步:Layout中建立图片展示界面(包含导航圆点)布局activity_main.xml文件:

这里主布局使用FrameLayout,切换实现布局使用ImageSwitcher,导航圆点使用linearlayout实现(可通过配置文件实现):

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     xmlns:tools="http://schemas.android.com/tools"
 4     android:id="@+id/activity_main"
 5     android:layout_width="match_parent"
 6     android:layout_height="match_parent"
 7     tools:context="com.example.administrator.switcher.MainActivity">
 8     <ImageSwitcher
 9         android:layout_width="match_parent"
10         android:layout_height="match_parent"
11         android:id="@+id/is">
12     </ImageSwitcher>
13     <LinearLayout
14         android:id="@+id/point_layout"
15         android:layout_width="match_parent"
16         android:layout_height="wrap_content"
17         android:layout_gravity="bottom"
18         android:orientation="horizontal">
19         <ImageView
20             android:layout_width="wrap_content"
21             android:layout_height="wrap_content"
22             android:layout_weight="1"
23             android:src="@mipmap/default_holo"/>
24         <ImageView
25             android:layout_width="wrap_content"
26             android:layout_height="wrap_content"
27             android:layout_weight="1"
28             android:src="@mipmap/default_holo"/>
29         <ImageView
30             android:layout_width="wrap_content"
31             android:layout_height="wrap_content"
32             android:layout_weight="1"
33             android:src="@mipmap/default_holo"/>
34         <ImageView
35             android:layout_width="wrap_content"
36             android:layout_height="wrap_content"
37             android:layout_weight="1"
38             android:src="@mipmap/default_holo"/>
39     </LinearLayout>
40 </FrameLayout>

第四步:Java中Activity的实现代码,首页GridView的实现代码GridActivity.java:

这里涉及到的知识点请参照

Android中GridView通过自定义适配器(未优化)实现图文视图排列

本次自定义适配器中getview方法已经优化:

 

 1 import android.content.Intent;
 2 import android.support.v7.app.AppCompatActivity;
 3 import android.os.Bundle;
 4 import android.view.View;
 5 import android.view.ViewGroup;
 6 import android.widget.AdapterView;
 7 import android.widget.BaseAdapter;
 8 import android.widget.GridView;
 9 import android.widget.ImageView;
10 public class GridActivity extends AppCompatActivity {
11     private GridView gv;
12     int[] images={R.mipmap.a1,R.mipmap.a2,R.mipmap.a3,R.mipmap.a4};
13     @Override
14     protected void onCreate(Bundle savedInstanceState) {
15         super.onCreate(savedInstanceState);
16         setContentView(R.layout.grid_layout);
17         gv= (GridView) findViewById(R.id.gv);
18         gv.setAdapter(new MyAdapter());
19         //设置单击GridView中每个item的单击事件
20         gv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
21             @Override
22             public 


 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Android中使用GridView和ImageViewSwitcher实现电子相册简单功能,gridviewimageview

相关文章

  • 2017-05-26几种执行shell的方法
  • 2017-05-26Android之Dedug--Circular dependencies cannot exist in AnimatorSet,circular
  • 2017-05-26Android系统架构,android系统结构
  • 2017-05-26BroadcastReceiver--Android广播机制,broadcastreceiver
  • 2017-05-26通过 Intent 传递类对象
  • 2017-05-26ViewPager和Fragment的组合使用,viewpagerfragment
  • 2017-05-26《Android权威编程指南(The Big Nerd Ranch Guide)(第二版)》12.4挑战练习,bignerdranch
  • 2017-05-26Android键盘事件,android键盘
  • 2017-05-26mysql字符集乱码问题
  • 2017-05-26Intent(三)向下一个活动传递数据,intent传递

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • android 图片加载库 Glide 的使用介绍,
    • 4.1.1 Activity初学乍练
    • 7.1.2 Android Http请求头与响应头的学习
    • TCP接收窗口--确定Window Scaling
    • 安卓开发之RecyclerView,安卓recyclerview
    • Android数据存储的三种方式介绍(SharedPrefrences,File,SQLite)
    • Android Bottom Sheet详解
    • Java虚拟机 JVM,java虚拟机jvm
    • Android Studio第一次提交git使用,androidgit
    • ListView 添加 HeaderView常见错误,listviewheaderview

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有