【Android实战】Gallary+ImageSwicther图片查看器

仿照如今各大新闻站点图片新闻的浏览模式,上面展示详细图片(ImageSwitch),以下是能够滑动的小图片(Gallery)。

当中须要注意的是ImageSwitch须要定义一个工厂返回的组件,而且能够设置动画效果。

Gallery用适配器载入布局。其Gallery可设置。两个图片的间隔距离。

布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" ><ImageSwitcherandroid:id="@+id/switcher"android:layout_width="fill_parent"android:layout_height="fill_parent"android:layout_gravity="center"android:layout_weight="1" ></ImageSwitcher><Galleryandroid:id="@+id/gallary"android:layout_width="fill_parent"android:layout_height="fill_parent"android:layout_margin="10dp"android:layout_weight="3"android:spacing="20dp" /></LinearLayout>

java类:

package com.gallaryandswitch;import android.app.Activity;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.FrameLayout;
import android.widget.Gallery;
import android.widget.ImageSwitcher;
import android.widget.ImageView;
import android.widget.ImageView.ScaleType;
import android.widget.LinearLayout;
import android.widget.ViewSwitcher.ViewFactory;import com.example.wangyitest.R;public class MainAct extends Activity {ImageSwitcher imageSwitcher;Gallery gallery;int[] pics = { R.drawable.f1, R.drawable.f2, R.drawable.f3, R.drawable.f4,R.drawable.f5, R.drawable.f6, R.drawable.f7, R.drawable.flower };@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.galleryswitch);imageSwitcher = (ImageSwitcher) findViewById(R.id.switcher);gallery = (Gallery) findViewById(R.id.gallary);imageSwitcher.setFactory(new ViewFactory() {@Overridepublic View makeView() {// TODO Auto-generated method stubImageView imageView = new ImageView(getApplicationContext());imageView.setScaleType(ScaleType.FIT_CENTER);imageView.setLayoutParams(new FrameLayout.LayoutParams(FrameLayout.LayoutParams.FILL_PARENT,FrameLayout.LayoutParams.FILL_PARENT));imageView.setBackgroundColor(getResources().getColor(R.color.bg3));return imageView;}});imageSwitcher.setInAnimation(AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.fade_in));imageSwitcher.setOutAnimation(AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.fade_out));gallery.setAdapter(new MyAdapter());// gallery.setOnItemClickListener(new AdapterView.OnItemClickListener()// {//// @Override// public void onItemClick(AdapterView<?

> parent, View view, // int position, long id) { // // TODO Auto-generated method stub // imageSwitcher.setImageResource(pics[position]); // } // }); gallery.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { // TODO Auto-generated method stub imageSwitcher.setImageResource(pics[position]); } @Override public void onNothingSelected(AdapterView<?

> parent) { // TODO Auto-generated method stub } }); } class MyAdapter extends BaseAdapter { @Override public int getCount() { // TODO Auto-generated method stub return pics.length; } @Override public Object getItem(int position) { // TODO Auto-generated method stub return position; } @Override public long getItemId(int position) { // TODO Auto-generated method stub return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub ImageView imageView = new ImageView(getApplicationContext()); imageView.setScaleType(ScaleType.FIT_CENTER); imageView.setLayoutParams(new Gallery.LayoutParams(400, Gallery.LayoutParams.WRAP_CONTENT)); imageView.setImageBitmap(BitmapFactory.decodeResource( getResources(), pics[position])); imageView.setBackgroundColor(getResources().getColor(R.color.bg2)); return imageView; } } }



转载于:https://www.cnblogs.com/gcczhongduan/p/5306762.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/430722.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

陈伯雄lisp_基于AutoLisp的AutoCAD二次开发自动生成系统图

龙源期刊网http://www.qikan.com.cn基于AutoLisp的AutoCAD二次开发自动生成系统图作者&#xff1a;郎建山金江来源&#xff1a;《科技视界》2013年第22期【摘要】本文主要阐述了应用AutoLisp语言二次开发AutoCAD自动生成系统图的实现方案。【关键词】AutoCAD&#xff1b;AutoLi…

Tecplot中使用公式

如图&#xff0c;计算结果中只有x、y、z三个方向流速&#xff0c;如果要知道某点流速大小需要自定义公式 方法&#xff1a; 其中Tecplot中自定义公式规则见该文&#xff1a; Tecplot中使用公式

birt报表与现有系统的集成

与现有的系统结合有两种常见方式(其一) 1、使用Birt自带的runtime 把Birt-runtime-2.1.3.zip解压&#xff0c;把WebViewerExample 拷贝到% tomcat-Home%\webapps目录下。 把你做好的*..rptdesign 和*.rptconfig文件放于% tomcat-Home%\webapps\ report目录下 我们把刚刚创建的第…

it工程师和码农的区别_你是开发工程师、程序员还是码农?

Developers are from Mars, programmers are from Venus, so where are coders from?不管是CPPer&#xff0c;Javaer&#xff0c;还是PHPer等等&#xff0c;不少开发人员经历过这样的困惑&#xff1a;我到底是工程师(SDE&#xff0c;or Developer)&#xff0c;程序员(Programm…

Tecplot中如何提取水线面(自由表面)并绘图

1.导入CAS和DAT文件 file-->load data 2.绘制体积分数云图 contour-->phase 2 3.绘制等值表面 plot-->iso-surface 4.从等值面提取数据 data-->extract-->iso-surfaces 如果报错记得勾选iso-surfaces&#xff0c;再进行上一步操作 此时&#xff0c;可以看到…

Mobiscroll的介绍【一款兼容PC和移动设备的滑动插件】

Mobiscroll是一个用于触摸设备的日期和时间选择器&#xff0c;它的使用不会改变HTML5、PhoneGap以及混合应用的原生用户体验。作为一款jQuery滑动选择插件&#xff0c;用户可以自定义主题样式&#xff0c;为自己的移动项目UI组件添色。Mobiscroll支持所有主流平台&#xff1a;i…

Tecplot云图锯齿状边界解决办法

问题描述&#xff1a; Tecplot绘制云图时出现锯齿状边界。如图&#xff1a; 解决办法&#xff1a; 2D Cartesion: Plot-Banking-Value Banking-Trim cells along boundary 3D Cartesion: 3D Cartesion中Banking选项卡无Trim cells along boundary选项&#xff0c;目前不知道…

zookeeper的acl权限控制_Zookeeper 权限控制 ACL介绍

zookeeper 的 ACL(Access Control List&#xff0c;访问控制表)权限在生产环境是特别重要的。ACL 权限可以针对节点设置相关读写等权限&#xff0c;保障数据安全性。permissions 可以指定不同的权限范围及角色。ACL 命令行1. getAcl 命令&#xff1a;获取某个节点的 acl 权限信…

sqlserver 跨服务器查询

有两种方法&#xff0c;先记下第一种 sqlserver manager里的新查询中启用 Ad Hoc Distributed Queries&#xff1a; exec sp_configure show advanced options,1 reconfigure exec sp_configure Ad Hoc Distributed Queries,1 reconfigure ---用openDATASOURCE执行 select * fr…

HEC-RAS泥沙计算中非恒定流和准恒定流的选择

准恒定流(Quasi-Unsteady Flow) 将非恒定流流量过程划分成小段的恒定流过程&#xff0c;并在该断时间段内执行恒定流分析计算水力特性&#xff0c;根据计算得到的水力特性计算该时段内的泥沙淤积结果。 优点&#xff1a;计算稳定&#xff0c;易收敛。 缺点&#xff1a;Quasi…

python cli_click python cli 开发包

python click 包是一个方便的cli 开发包&#xff0c;我们可以用来开发强大的cli 应用使用venv 进行环境准备&#xff0c;示例代码来自官方venv 环境准备python3 -m venv demoapp安装pip install click基本使用代码cli.pyimport clickclick.command()click.option("--count…

ElasticSearch 2 (27) - 信息聚合系列之故事开始

ElasticSearch 2 (27) - 信息聚合系列之故事开始 摘要 到目前为止&#xff0c;本书都在着重介绍搜索。对于搜索&#xff0c;我们有查询条件以及与查找到与条件匹配的集合。这个过程就和如大海捞针一样。 对于聚合&#xff0c;我们站在远处总观数据。与查看单个文档不同&#xf…

3个阶段 项目征名_萧山日报数字报-蓝城萧立7大代建项目征名开启

■记者 陈胜楠“家”&#xff0c;对于中国人而言&#xff0c;代表的是心灵深处的幸福感。因此它的赋名不光大气悦耳&#xff0c;更饱含美好寓意。不过&#xff0c;一般而言&#xff0c;自己家小区的案名往往是“与生俱来”的&#xff0c;其起名的由来、内含的寓意等&#xff0c…

idea 下划线字段转驼峰_Java如何实现数据库中表字段的下划线和驼峰式命名的Model相互转换,很方便的...-Go语言中文社区...

其实通过逆向工程&#xff0c;然后去配置一些config,就可以实现&#xff0c;从Table到Model的相互转换&#xff0c;而且&#xff0c;对于下划线命名的Table字段&#xff0c;实现驼峰式命名的Model &#xff0c;有时候我们只是做个测试&#xff0c;或者自己基于数据的表&#xf…

Android之下拉刷新的ListView

不废话&#xff0c;代码里面注释很详细&#xff0c;直接上代码&#xff1a; 自定义的RefreshableListView代码&#xff1a; 1 public class RefreshableListView extends ListView implements OnScrollListener {2 private View header; // ListView顶部布局3 private …

ib网卡命令_infiniband交换机配置命令总结

串口通过远程CRT登录&#xff0c;波特率9600用户名和密码都是adminDo you want to use the wizard for initial configuration?选择no打开ip routingsx1012 [standalone: master] (config) # ip routing设置mgmt0端口的ip地址sx1012 [standalone: master] (config) # interfac…

YYCache 设计思路

iOS 开发中总会用到各种缓存&#xff0c;最初我是用的一些开源的缓存库&#xff0c;但到总觉得缺少某些功能&#xff0c;或某些 API 设计的不够好用。YYCache (https://github.com/ibireme/YYCache) 是我新造的一个轮子&#xff0c;下面说一下这个轮子的设计思路。 内存缓存 通…

几何画板椭圆九种画法_如何利用几何画板自定义工具画椭圆

椭圆在数学中占有一定的比重&#xff0c;是中学时代必学的圆锥曲线之一&#xff0c;也是历来考试的重点和难点。几何画板作为专业的几何绘图工具&#xff0c;可以用来画椭圆图形。前面的教程学习了在几何画板中利用椭圆定义画椭圆的方法&#xff0c;其实我们还可以利用自定义工…

python 下的数据结构与算法---6:6大排序算法

顶先最后推荐&#xff1a;哈哈&#xff0c;意思是放到顶部强调其重要性&#xff0c;但是应该我总结的六种算法看完了后再看的一篇醍醐灌顶的文章 一&#xff1a;冒泡排序&#xff08;Bubble Sort&#xff09; 原理&#xff1a;假设有n个数&#xff0c;第一轮时&#xff1a;从第…

python将整数逆序_python练手入门小项目:字符串的妙用

题目来源&#xff1a;小行&#xff1a;python练手入门小项目详解&#xff08;一&#xff09;1 给任意一个的正整数&#xff0c;要求&#xff1a;一、求它是几位数&#xff0c;二、逆序打印出各位数字。代码&#xff1a;def reversed_integer(number):assert type(number) is in…