`
huangsen1101
  • 浏览: 21968 次
  • 性别: Icon_minigender_1
  • 来自: 福州
文章分类
社区版块
存档分类
最新评论

android:gallery

阅读更多


① 新建项目
② 定义layout 外部resource 的xml 文件,用来改变layout 的背景


<?xml version="1.0" encoding="utf-8"?>
<resources>
    <declare-styleable name="Gallery">
        <attr name="android:galleryItemBackground" />
    </declare-styleable>
    <!-- 定义layout 外部resource 的xml 文件,用来改变layout 的背景图。 -->
</resources>


③ 修改main.xml布局,添加一个Gallery和一个ImageView

<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout
    android:id="@+id/widget_absolutelayout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    xmlns:android="http://schemas.android.com/apk/res/android"
>
<Gallery
    android:layout_width="fill_parent"
    android:layout_height="143px"
    android:layout_x="0px"
    android:layout_y="51px"
    android:id="@+id/Gallery_preView">
</Gallery>
<ImageView
    android:layout_width="239px"
    android:layout_height="218px"
    android:layout_x="38px"
    android:layout_y="184px"
    android:id="@+id/ImageView_photo">
</ImageView>
</AbsoluteLayout>


④ 新建一个myImageAdapter类--Gallery的适配器,它继承于BaseAdapter类.

package zyf.Ex_Ctrl_10ME;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
public class myImageAdapter extends BaseAdapter {
@Override
public int getCount() {
// TODO Auto-generated method stub
return 0;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
return null;
}
}


⑤ 修改mainActivity.java,添加Gallery相关操作


package zyf.Ex_Ctrl_10ME;

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

public class Ex_Ctrl_10ME extends Activity {
    /** Called when the activity is first created. */
/*定义要使用的对象*/
private Gallery gallery;
private ImageView imageview;
private myImageAdapter imageadapter;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        imageadapter=new myImageAdapter(this);
        /* 通过findViewById 取得 资源对象*/
        gallery=(Gallery)findViewById(R.id.Gallery_preView);
        imageview=(ImageView)findViewById(R.id.ImageView_photo);
        /*给Gallery设置适配器 把Ex_Ctrl_10ME类传入参数*/
        gallery.setAdapter(imageadapter);
        /*设置Gallery的点击事件监听器*/
        gallery.setOnItemClickListener(new Gallery.OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> parent, View v, int position,
long id) {
// TODO Auto-generated method stub
/*显示该图片是几号*/
Toast.makeText(Ex_Ctrl_10ME.this,
                         "这是图片:"+position+"号", Toast.LENGTH_SHORT).show();

/*设置大图片*/
imageview.setBackgroundResource(imageadapter.myImageIds[position]);
}
        });
    }
}


⑥ 修改myImageAdapter.java文件,实现相簿浏览效果


package zyf.Ex_Ctrl_10ME;

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 myImageAdapter extends BaseAdapter{//自定义的类变量
/*变量声明*/
int mGalleryItemBackground;
private Context context;//上下文
/* 构建一Integer array 并取得预加载Drawable 的图片id */
public Integer[] myImageIds = { R.drawable.photo1, R.drawable.photo2,
R.drawable.photo3, R.drawable.photo4, R.drawable.photo5,
R.drawable.photo6, };
/*自定义的构造方法*/
public myImageAdapter(Context context) {
// TODO Auto-generated constructor stub
this.context=context;
/*
* 使用在res/values/attrs.xml 中的<declare-styleable>定义 的Gallery 属性.
*/
TypedArray typed_array=context.obtainStyledAttributes(R.styleable.Gallery);
/* 取得Gallery 属性的Index id */
mGalleryItemBackground=typed_array.getResourceId(R.styleable.Gallery_android_galleryItemBackground, 0);
/* 让对象的styleable 属性能够反复使用 */
typed_array.recycle();
}
/* 重写的方法getCount,返回图片数目 */
@Override
public int getCount() {
// TODO Auto-generated method stub
return myImageIds.length;
}
/* 重写的方法getItemId,返回图像的数组id */
@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;
}
/* 重写的方法getView,返回一View 对象 */
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
/* 产生ImageView 对象 */
ImageView imageview = new ImageView(context);
/* 设置图片给imageView 对象 */
imageview.setImageResource(myImageIds[position]);
/* 重新设置图片的宽高 */
imageview.setScaleType(ImageView.ScaleType.FIT_XY);
/* 重新设置Layout 的宽高 */
imageview.setLayoutParams(new Gallery.LayoutParams(128, 128));
/* 设置Gallery 背景图 */
imageview.setBackgroundResource(mGalleryItemBackground);
/* 返回imageView 对象 */
return imageview;
}
}
分享到:
评论

相关推荐

    Android下Gallery控件的使用

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

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

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

    Android Gallery

    **Android Gallery控件详解** Android Gallery控件是Android SDK中提供的一种用于展示一系列项的水平滚动视图。这个控件可以用来创建一个类似图片轮播的效果,用户可以通过左右滑动来浏览不同的项目。在Android早期...

    Android应用源码之Gallery1_Gallery.zip

    Gallery是Android平台上一个用于展示图片或视频的控件,它在早期版本的Android SDK中被广泛使用,提供了用户浏览媒体内容的滚动界面。这个"Gallery1_Gallery.zip"压缩包很可能是包含了一个示例项目,展示了如何在...

    android gallery简单应用

    在Android平台上,`Gallery`组件是一个非常有用的控件,它允许用户通过水平滑动来浏览一系列的图片或项目。在早期的Android版本中,`Gallery`是实现轮播效果的常见选择,但在Android 3.0(API级别11)之后,`...

    Android_Gallery3D源码(已编译)

    《Android_Gallery3D源码解析》 Gallery3D是Android平台上的一款3D图片浏览应用,它展示了Android系统中3D图形处理和图像展示的强大能力。这个应用的源码提供了深入理解Android图形库、线程管理、数据加载优化以及...

    android4.0 Gallery相册 源代码

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

    Android中gallery图片自动切换Demo

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

    android 带有 动画 效果 的 Gallery 控件

    在Android开发中,`Gallery`控件是一种非常实用的组件,它允许用户通过左右滑动来展示一系列的项目,常用于图片轮播、菜单选择等场景。然而,原生的`Gallery`控件在Android API 17之后就被废弃了,但通过一些技巧和...

    Android 之 Gallery画廊用法

    在Android开发中,`Gallery`组件是用于展示一系列图片或者视图的一种滚动控件,它允许用户通过左右滑动来浏览各个项目。`Gallery`在早期版本的Android API中被广泛使用,但在API 16之后已被弃用,取而代之的是更现代...

    Android Gallery小例子

    在Android平台上,`Gallery`组件是早先版本中用于展示一系列图像或选择图片的一个控件。这个小例子展示了如何在Android应用中集成和使用`Gallery`控件,以实现一个可滚动的图片画廊功能。下面我们将深入探讨`Gallery...

    Android4.0的Gallery源码

    在Android系统中,Gallery是一个用于展示图片或视频的控件,尤其在早期版本如Android 4.0(Ice Cream Sandwich)中,它被广泛用于应用和系统的图片浏览功能。本篇将深入解析Android 4.0的Gallery源码,帮助你理解其...

    android安卓app开发之对新老2版画廊gallery的外观用法区别,附源代码.zip

    3. 设置适配器到Gallery: ```java Gallery gallery = (Gallery) findViewById(R.id.gallery); gallery.setAdapter(new CustomAdapter(this)); ``` 老版Gallery的问题在于,它在API 11之后被废弃,因为它的功能被新...

    android gallery 放大效果

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

    Android 重写Gallery

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

    android 循环gallery 选中时图片放大 可按钮控制左右

    在Android开发中,循环Gallery是实现轮播图或者图片浏览的一种常见组件,它允许用户通过手势或按钮在多个图片之间进行切换。在这个特定的需求中,我们不仅需要让Gallery实现循环滚动,还要在选中图片时对其进行放大...

    android开发,gallery图片切换

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

    android左右滚动焦点图【改】

    &lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" ... android:id="@+id/gallery" android:layout_width="fill_parent" android:layout_height="230px" /&gt; &lt;/LinearLayout&gt;

    Android程序技术:画廊视图.pptx

    Android 程序技术 本节课程内容:Gallery 高级控件-画廊视图 高级控件-画廊视图 Advanced controls - Gallery view 画廊Gallery能够水平方向显示内容,并且可用手指直接拖动图片移动,一般用来浏览图片,被选中的...

    android--Gallery 的基本使用

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

Global site tag (gtag.js) - Google Analytics