`
韩悠悠
  • 浏览: 842520 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

android中gallery的使用

 
阅读更多

1,创建配置文件

<?xml version="1.0" encoding="utf-8"?>
<Gallery xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/gallery"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    >
</Gallery>

 

2,编写适配器,因为Gallery 需要一个适配器填充,而且填充的必须输图片,所以。。。

package com.kang.fei.gallery;

import android.content.Context;
import android.content.res.TypedArray;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Gallery;
import android.widget.ImageView;

public class ImageAdapter extends BaseAdapter {

	private Context context;
	int mGalleryItemBackground;
	private Integer[] mImageids ={
			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
	};
	
	public ImageAdapter(Context context){
		this.context = context;
		//TypedArray实例是个属性的容器,context.obtainStyledAttributes()方法返回得到
		TypedArray a = context.obtainStyledAttributes(R.styleable.HelloGallery);
		mGalleryItemBackground = a.getResourceId
		(R.styleable.HelloGallery_android_galleryItemBackground, 0);
		a.recycle();
	}
	
	public int getCount() {
		return mImageids.length;
	}

	public Object getItem(int position) {
		return position;
	}

	public long getItemId(int position) {
		return position;
	}

	public View getView(int position, View convertView, ViewGroup parent) {
		
		ImageView i = new ImageView(context);
		i.setImageResource(mImageids[position]);
		i.setLayoutParams(new Gallery.LayoutParams(150,100));
		i.setScaleType(ImageView.ScaleType.FIT_XY);
		i.setBackgroundResource(mGalleryItemBackground);
		return i;
		
	}

}

 

 

 

3,编写一个attrs.xml文件,防止在values文件颊下

 

<?xml version="1.0" encoding="utf-8"?>
<resources>
	<declare-styleable name="HelloGallery">
	    <attr name="android:galleryItemBackground"/>
	</declare-styleable>
</resources>

 

 

4,编写主层序类

package com.kang.fei.gallery;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Gallery;
import android.widget.Toast;

public class GalleryActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        Gallery g = (Gallery) findViewById(R.id.gallery);
        g.setAdapter(new ImageAdapter(this));
        g.setOnItemClickListener(new OnItemClickListener() {

			public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
				Toast.makeText(GalleryActivity.this, " "+position,1).show();
			}
        	
		});
    }
}

 

 

分享到:
评论

相关推荐

    Android下Gallery控件的使用

    在Android开发中,`Gallery`控件是一种非常实用的组件,它允许用户通过左右滑动来展示一系列的项目,类似于iOS中的Carousel或者Pinterest的布局。`Gallery`控件基于`AbsListView`,提供了水平方向上的滚动浏览体验。...

    android--Gallery 的基本使用

    在Android开发中,`Gallery`组件是一个非常有用的视图,它允许用户通过左右滑动来浏览一系列的项目,常用于图片或选项的选择。本篇文章将深入解析`Gallery`组件的基本使用,以及与其相关的`ImageSwitcher`组件。 ...

    Android_Gallery3D源码(已编译)

    Gallery3D是Android平台上的一款3D图片浏览应用,它展示了Android系统中3D图形处理和图像展示的强大能力。这个应用的源码提供了深入理解Android图形库、线程管理、数据加载优化以及用户交互设计的宝贵机会。以下是对...

    Android中gallery图片自动切换Demo

    在Android开发中,`Gallery`组件是用于展示一系列图片或者选项的一个控件,它允许用户通过左右滑动来浏览。然而,`Gallery`在新版本的Android SDK中已经被弃用,取而代之的是`HorizontalScrollView`或者`ViewPager`...

    android 4.0 Gallery源码

    在Android 4.0 Gallery源码中,可以看到使用了AsyncTask或者IntentService进行异步操作,防止主线程阻塞,提高应用响应速度。 6. **UI设计与动画效果** Gallery的界面设计简洁且交互流畅,利用Animation类和...

    android gallery简单应用

    尽管如此,理解`Gallery`的使用仍然对了解Android UI发展史和兼容旧项目有所帮助。 `Gallery`控件是`AbsSpinner`的一个子类,它继承了`AdapterView`的特性,可以绑定数据源并显示来自适配器的数据。`Gallery`的基本...

    Android应用源码之Gallery2_Android.zip

    Gallery2是一个针对Android平台的开源图片浏览应用,其源码为我们提供了一个深入理解Android系统中图片展示、手势操作以及图片库集成的实例。通过分析这个项目,我们可以学习到许多关于Android开发的重要知识点。 ...

    Android4.0的Gallery源码

    在Android 4.0的Gallery源码中,你需要查看GalleryAdapter类,它实现了BaseAdapter接口,负责将数据转化为可以在Gallery中显示的View。Adapter的主要方法包括: - `getView()`:此方法为每个项创建或复用一个View,...

    Android 重写Gallery

    在Android开发中,`Gallery`组件是Android早期版本(API level 16及以下)提供的一种可以水平滑动浏览图片或项目的控件。它允许用户通过手指滑动来浏览一串连续的视图,通常用于展示照片或者进行选择操作。然而,...

    Android Gallery小例子

    这个"Android Gallery小例子"旨在帮助开发者理解如何在旧版Android系统中使用`Gallery`控件创建一个图片浏览应用。虽然`Gallery`已过时,但学习其工作原理对于理解Android的Adapter模式和视图滚动机制仍有所帮助。

    Android 使用Gallery_tabhost实现标签效果图源码.rar

    在这个项目中,`Android 使用Gallery_tabhost实现标签效果图源码.rar`是一个示例,展示了如何结合这两个组件来创建一个动态、交互式的标签切换效果。 `Gallery`是Android提供的一个水平滚动视图,它允许用户通过...

    android4.0 Gallery相册 源代码

    在Android系统中,Gallery是一个用于展示图片和视频的视图组件,它允许用户通过水平滑动来浏览多媒体内容。在Android 4.0(API级别14)版本中,Gallery已经被废弃,取而代之的是更强大的GridView和RecyclerView。...

    Android Gallery

    在提供的博客链接中(http://blog.csdn.net/csdnyuandaimaxuexi/article/details/48809349),作者详细介绍了如何在实际项目中使用和自定义Gallery控件,包括图片加载、点击事件处理和滚动效果的调整。通过阅读这篇...

    Android照片墙Gallery [源码]

    在Android开发中,"Android照片墙Gallery [源码]"是一个典型的项目,用于展示用户的照片集,类似于手机系统自带的相册应用。这个程序的核心功能是加载和显示图片,同时可能包含一些交互效果,如滑动浏览、缩放等。...

    android gallery 放大效果

    在Android开发中,`Gallery`组件是一个非常有用的控件,它允许用户在水平轴上滑动浏览多个项目,常用于实现图片浏览或者选项选择。在本主题中,我们将深入探讨如何利用`Gallery`来实现图片滑动,并且在选中图片时...

    Android 之 Gallery画廊用法

    `Gallery`在早期版本的Android API中被广泛使用,但在API 16之后已被弃用,取而代之的是更现代的`RecyclerView`或`ViewPager`。尽管如此,理解`Gallery`的工作原理和用法仍然对学习Android的历史和迁移旧代码至新...

    android中的gallery倒影样式

    4. **适配器中使用自定义视图**:最后,你需要在`Adapter`的`getView()`方法中返回这个自定义`View`,并确保为每个`View`传递正确的`Bitmap`。 ```java @Override public View getView(int position, View ...

    android开发,gallery图片切换

    在Android开发中,`Gallery`组件是一个非常实用的控件,它允许用户通过左右滑动来浏览和选择项目,常用于图片浏览、菜单选择等场景。在这个特定的案例中,我们关注的是如何实现图片的自动切换功能,这在创建图片轮播...

    android 循环gallery 选中放大 按键控制

    在Android开发中,`Gallery`组件是一个非常有用的控件,它允许用户在多个项目之间进行水平滑动选择,常用于图像浏览或者选项选择等场景。本篇将详细讲解如何实现一个具有循环滚动、选中放大功能,并且可以使用按键...

    Android应用源码之Gallery2.zip

    在Gallery中,它处理了滑动和点击事件,通过`onTouchEvent()`方法传递给GestureDetector,进而触发相应的滚动和选择行为。 4. **布局与渲染** Gallery的布局计算主要在`onMeasure()`和`onLayout()`方法中完成。这...

Global site tag (gtag.js) - Google Analytics