- 浏览: 375468 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (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 857谷歌I/O 2016开发者大会在公司总部正式拉开 ... -
So Easy京东商城
2014-12-10 16:51 1507So Easy京东商城 我和17位小伙伴们 ... -
过期Gallery取代方案horizontalscrollView之菜单导航效果
2014-03-23 16:19 2298效果 ------------------------- ... -
过期Gallery取代方案horizontalscrollView之京东效果
2014-03-23 15:57 3813效果 ------------------------- ... -
过期Gallery取代方案horizontalscrollView之幻灯片效果
2014-03-21 17:33 2575效果 ------------------------- ... -
tabhostandbadgeview
2014-03-19 13:45 984效果 -------------------------- ... -
Android优秀开源项目大全
2014-03-18 15:17 1921以下是开源项目 1、and ... -
Android分页控件xlistview
2014-03-18 14:51 1618strings.xml ----------------- ... -
过期Gallery取代方案horizontalscrollView之普通画廊
2014-03-17 22:48 2394activity_main.xml ---------- ... -
viewpage
2014-03-17 18:08 1023strings.xml ----------------- ... -
FragmentStatePagerAdapter分页
2014-03-17 17:27 752ViewPager ViewPager 如 ... -
FragmentPagerAdapter与FragmentStatePagerAdapter差异
2014-03-17 17:20 1273简介 平常使用的FragmentPagerAdapter和F ... -
抽屉菜单
2014-03-16 12:51 1785strings.xml ----------------- ... -
px和dip以及sp的区别
2014-03-08 17:01 668显示单位px和dip以及sp的区别 dip: devi ... -
fragment生命周期
2014-03-06 16:59 836Fragment必须被写成可重用的模块。因为fragmen ... -
过期API_AlertDialog
2014-03-02 10:07 1111layout----------------------- ... -
Android_Jni 操作指南
2014-01-10 14:45 906Android_Jni 操作指南 NDK(Nati ... -
各种各样圆形进度条
2013-11-11 16:30 517http://www.apkbus.com/android-1 ... -
红杏出墙__实训版
2013-04-20 18:59 1044红杏出墙__实训版 -
google地图demo
2013-04-09 14:25 3133---------------------------- ...
相关推荐
关于android gallery 滑动过快的解决办法demo
Android Gallery画廊 图片展示控件 博客地址:http://blog.csdn.net/csdnyuandaimaxuexi/article/details/48809349
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 ...
android控件Galley-ImageSwitcher配合使用,可实现滑动选择头像效果 直接刻运行,适合初学者, 代码简单,易学;
自定义Galley,仿网易、新浪首页的广告Gallery
Galley重新自定义显示流畅,倒影显示正常,不会出现oom稳定,请多多下载
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; ...
实测可用
实测可用
Simples gallery de imagem
galley和gridview控件的基本使用
实测可用
实测可用
实测可用
实测可用
实测可用
实测可用
实测可用
实测可用
实测可用