- 浏览: 385476 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (269)
- FY_UML (3)
- FY_JAVA (12)
- FY_JavaScript脚本 (7)
- FY_JSP (3)
- FY_Tapestry框架 (12)
- FY_Spring框架 (3)
- FY_Manager (5)
- FY_Junit(单元测试) (3)
- SERVER (14)
- FY_Struts2框架 (3)
- FY_SVN (2)
- FY_NoSQL (2)
- FY_jquery_sir (13)
- FY_hibernate_sir (8)
- FY_设计模式_sir (6)
- FY_Extjs_sir (10)
- FY_CI_sir (5)
- FY_Oracle_sir (11)
- FY_MySql_sir (10)
- FY_Hadoop_sir (3)
- FY_SOA_sir (1)
- 中文分词技术 (1)
- FY_Android (52)
- FY_架构 (2)
- FY_PhoneGap (2)
- FY_Webstorm (5)
- FY_Sencha Touch (3)
- HTML5应用快速开发 (1)
- FY_python (0)
- HADOOP (1)
- AI (0)
最新评论
-
antao592:
楼主,HkDataSourceWrapper中的getCurr ...
结合spring jdbc 实现分表分库的数据库访问构思 -
bonait:
不错,看看我的这个怎么样www.zipin168.com
So Easy京东商城 -
chenzheng8975:
...
So Easy京东商城 -
yzhenxing:
我导入demo后少com.google.android.gms ...
google地图demo -
echoaiya:
非常感谢~~
google地图demo
ch011 Android Galley与ImageSwitch
- 博客分类:
- FY_Android
--------------------------------------------Layout activity_main.xml--------------------------
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ImageSwitcher
android:id="@+id/imageSwitcher"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="0.2" >
</ImageSwitcher>
<Gallery
android:id="@+id/gallery"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="0.8" android:spacing="10sp"/>
</LinearLayout>
--------------------------------------------Layout gallery_item.xml---------------------------
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/RelativeLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:src="@drawable/ic_launcher"/>
</RelativeLayout>
--------------------------------------------Adapter ImageAdapter.xml------------------------
package com.ch11;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.widget.BaseAdapter;
import android.widget.Gallery;
import android.widget.ImageView;
/**
*
* 项目名称:com.ch11
* 类名称:ImageAdapter
* 类描述: 自定义适配器,为Gallery提供数据
* 创建人:方勇
* 创建时间:2012-11-16 下午4:08:11
* Copyright (c) 方勇-版权所有
*/
public class ImageAdapter extends BaseAdapter {
/* 上下文对象 */
private Context mContext;
/* 布局管理对象 */
private LayoutInflater layoutInfalter;
/* 图片资源集合 */
public static Integer[] images = { R.drawable.a, R.drawable.b, R.drawable.c, R.drawable.d, R.drawable.e };
public ImageAdapter(Context context) {
super();
this.mContext = context;
layoutInfalter = LayoutInflater.from(mContext);
}
/* Gallery对应的图片个数 */
@Override
public int getCount() {
// TODO Auto-generated method stub
return images.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) {
ImageView imageView;
/* 实例化ImageView对象 */
if (null == convertView) {
/* 获取根视图对象 */
View view = layoutInfalter.inflate(R.layout.gallery_item, null);
/* 图片对象 */
imageView = (ImageView) view.findViewById(R.id.image);
} else {
imageView = (ImageView) convertView;
}
/* 图片源 */
imageView.setImageResource(images[position]);
/* Gallery图片布局类型 */
imageView.setLayoutParams(new Gallery.LayoutParams(100, LayoutParams.FILL_PARENT));
return imageView;
}
}
--------------------------------------------MainActivity.java-----------------------------------
package com.ch11;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.view.ViewGroup.LayoutParams;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.Gallery;
import android.widget.ImageSwitcher;
import android.widget.ImageView;
import android.widget.ViewSwitcher.ViewFactory;
/**
*
* 项目名称:com.ch11
* 类名称:MainActivity
* 类描述: Galley,ImageSwitch,自定义适配器
* 创建人:方勇
* 创建时间:2012-11-16 上午9:04:16
* Copyright (c) 方勇-版权所有
*/
public class MainActivity extends Activity implements OnItemSelectedListener, ViewFactory {
/* 相册控件 */
private Gallery gallery;
/* 图片切换控件 */
private ImageSwitcher imageSwitcher;
// 选中的图片索引
private int selectedTag = 0;
// 松开时的坐标x
private int upX;
// 按下时 的坐标x
private int downX;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViews();
setListeners();
init();
}
/* 初始化UI */
private void findViews() {
gallery = (Gallery) findViewById(R.id.gallery);
imageSwitcher = (ImageSwitcher) findViewById(R.id.imageSwitcher);
}
/* 监听事件 */
private void setListeners() {
gallery.setOnItemSelectedListener(this);
imageSwitcher.setOnTouchListener(onTouchListener);
}
/* 设置参数 */
private void init() {
/* 绑定图片适配器 */
ImageAdapter imageAdapter = new ImageAdapter(this);
gallery.setAdapter(imageAdapter);
/* Sets the factory used to create the two views between which the ViewSwitcher will flip */
/* 创建两个视图,手指滑动时,相互切换 */
imageSwitcher.setFactory(this);
}
/* 选中事件 */
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
imageSwitcher.setImageResource(ImageAdapter.images[position]);
selectedTag = position;
}
/* ImageSwitcher的触摸事件 */
private OnTouchListener onTouchListener = new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
downX = (int) event.getX(); // 取得按下时 的坐标x
return true;
} else if (event.getAction() == MotionEvent.ACTION_UP) {
upX = (int) event.getX(); // 取得松开时的坐标x
}
if (upX - downX > 100) { // 从左拖到右,即看前一张
// 如果是第一,则去到尾部
if (gallery.getSelectedItemPosition() == 0)
selectedTag = gallery.getCount() - 1;
else
selectedTag = gallery.getSelectedItemPosition() - 1;
}
if (downX - upX > 100)// 从右拖到左,即看后一张
{
// 如果是最后,则去到第一
if (gallery.getSelectedItemPosition() == (gallery.getCount() - 1))
selectedTag = 0;
else
selectedTag = gallery.getSelectedItemPosition() + 1;
}
// Jump directly to a specific item in the adapter data.
// 直接跳到数据适配器中指定项。
// 改变gallery图片所选,自动触发ImageSwitcher的setOnItemSelectedListener
gallery.setSelection(selectedTag, true);
return true;
}
};
@Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
}
@Override
public View makeView() {
Log.v("fy", "makeView start ...");
ImageView imageView = new ImageView(this);
// 伸缩比例与图片位置
imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
// 布局
imageView.setLayoutParams(new ImageSwitcher.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
Log.v("fy", "makeView end ...");
return imageView;
}
}
--------------------------------------------效果图-----------------------------------------------
发表评论
-
史上最快 Android N(安卓7.0)运行效率暴增至600%
2016-10-15 10:08 928谷歌I/O 2016开发者大会在公司总部正式拉开 ... -
So Easy京东商城
2014-12-10 16:51 1578So Easy京东商城 我和17位小伙伴们 ... -
过期Gallery取代方案horizontalscrollView之菜单导航效果
2014-03-23 16:19 2415效果 ------------------------- ... -
过期Gallery取代方案horizontalscrollView之京东效果
2014-03-23 15:57 3881效果 ------------------------- ... -
过期Gallery取代方案horizontalscrollView之幻灯片效果
2014-03-21 17:33 2622效果 ------------------------- ... -
tabhostandbadgeview
2014-03-19 13:45 1034效果 -------------------------- ... -
Android优秀开源项目大全
2014-03-18 15:17 1984以下是开源项目 1、and ... -
Android分页控件xlistview
2014-03-18 14:51 1673strings.xml ----------------- ... -
过期Gallery取代方案horizontalscrollView之普通画廊
2014-03-17 22:48 2444activity_main.xml ---------- ... -
viewpage
2014-03-17 18:08 1059strings.xml ----------------- ... -
FragmentStatePagerAdapter分页
2014-03-17 17:27 806ViewPager ViewPager 如 ... -
FragmentPagerAdapter与FragmentStatePagerAdapter差异
2014-03-17 17:20 1317简介 平常使用的FragmentPagerAdapter和F ... -
抽屉菜单
2014-03-16 12:51 1845strings.xml ----------------- ... -
px和dip以及sp的区别
2014-03-08 17:01 718显示单位px和dip以及sp的区别 dip: devi ... -
fragment生命周期
2014-03-06 16:59 890Fragment必须被写成可重用的模块。因为fragmen ... -
过期API_AlertDialog
2014-03-02 10:07 1151layout----------------------- ... -
Android_Jni 操作指南
2014-01-10 14:45 949Android_Jni 操作指南 NDK(Nati ... -
各种各样圆形进度条
2013-11-11 16:30 563http://www.apkbus.com/android-1 ... -
红杏出墙__实训版
2013-04-20 18:59 1083红杏出墙__实训版 -
google地图demo
2013-04-09 14:25 3203---------------------------- ...
相关推荐
在Android开发中,Galley控件是用于展示一系列图片或视图的一个常用组件,类似于一个可以左右滑动的轮播图。然而,在实际应用中,开发者可能会遇到Galley控件在用户快速滑动时反应不灵敏或者无法准确停止在目标位置...
**Android Gallery控件详解** Android Gallery控件是Android SDK中提供的一种用于展示一系列项的水平滚动视图。这个控件可以用来创建一个类似图片轮播的效果,用户可以通过左右滑动来浏览不同的项目。在Android早期...
Flutter is Google’s mobile app SDK for crafting high-quality native interfaces on iOS and Android in record time. Flutter works with existing code, is used by developers and organizations around the ...
`Galley`控件是Android SDK中的一个图像浏览组件,它允许用户在多个图像之间进行横向滑动浏览。`Galley`具有自动滚动和缩放功能,可以轻松地展示一组图片,非常适合于头像选择或相册浏览的场景。它的基本用法包括...
【标题】"My Galley in, Volley lib, Json" 暗示了这个项目是关于在Android平台上创建一个简易的图片画廊应用,并且利用了Volley库进行网络数据加载,以及Json解析来处理图像数据。 【描述】"Simples gallery de ...
在Android开发中,`Galley`是一个用于展示图像和视频的控件,它在早期版本的Android系统中被广泛使用。然而,随着Android系统的更新,`Gallery`已被废弃,取而代之的是更现代、更高效的`RecyclerView`或`...
在Android开发中,我们可以使用自定义Galley来创建类似的功能,提供更加灵活和个性化的用户体验。 自定义Galley的核心在于实现一个可滚动的视图容器,它可以是HorizontalScrollView、ViewPager或者其他自定义的滑动...
《Crafter社交网站:galley-test-harness-core-0.6.4.zip解析》 在IT领域,开源项目一直是技术创新的重要驱动力,它们为开发者提供了丰富的资源和平台,激发了无数的可能性。今天我们将深入探讨一个名为"Crafter...
描述中提到的"plivo-java.zip"是另一个与"plivo"服务相关的Java库。Plivo是一个通信平台即服务(CPaaS)提供商,提供语音通话、短信服务等功能。这个"plivo-java助手库"是为了简化Java开发者在集成Plivo服务时的工作...
import android app Activity; import android os Bundle; import android view LayoutInflater; import android view View; import android view ViewGroup; import android view ViewGroup MarginLayoutParams; ...
Gallery2与Camera分开 android-4.3 相机代码已经迁移到Gallery2工程里 android-4.4_r0.7(含)及以后 开始创建Camera2项目,Gallery2删除camera相关代码 4.3的版本配置配置起来,比较方便所以本项目以“ android-...
实测可用
实测可用
在Android开发中,控件是构建用户界面的基本元素,它们为用户提供与应用交互的方式。本教程将深入探讨两种常见的布局控件:Gallery和GridView,它们都用于展示一系列的项目,但各自具有不同的特点和应用场景。 **...
实测可用
实测可用
实测可用
实测可用
实测可用
实测可用