`
javasogo
  • 浏览: 1817661 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Android 学习笔记(十五):Activity-GalleryView

阅读更多

LogCat调测信息

在Window -> Show View -> Other... -> Android -> LogCat,这样将显示LogCat的窗口,对于System.out.print()以及Log.d(),可以打印出我们所需要的信息,例如:

System.out.print("Hello ---------------------\n");
Log.d("WEI","Hi ------------------1-----------");
Log.d("WEI","Hi -------------------2----------");

这样,我们在LogCat的查窗口,可以看到相关的信息:

GalleyView

Galley是画廊的意思,一般只在图片显示中使用,而且也不常用。

1)Android XML文件

<?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>

由于Galley用户处理图片,因此处理item可采用ImageView,在设置adapter中,我们可以参见《Android 学习笔记(十三):Activity-GridView 》中对BaseAdapter进行继承。

2)Java源代码

public class Chapter7Test8 extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.chapter_7_test8);

//步骤1:和之前学习的一样,设置adapter来描述item的内容以及设置item的格式;通过setOnItemClickListener()设置点击触发的操作。
Gallery gallery = (Gallery)findViewById(R.id.gallery);
gallery.setAdapter (new ImageAdapter (this));
gallery.setOnItemClickListener (new OnItemClickListener(){
public void onItemClick(AdapterView<?> parent,View v,int position,long id){
Toast.makeText(Chapter7Test8.this,""+position,Toast.LENGTH_SHORT).show();
}
}
);
}
//步骤2:adapter继承BaseAdapter,具体描述item。需要创建构造函数,具体化getCount(), getItem(), getItemId(), getView()。
private class ImageAdapter extends BaseAdapter{
private Context mContext;
private Integer[] mImageIds = { R.drawable.sample_1, R.drawable.sample_2, R.drawable.sample_3,
R.drawable.sample_4, R.drawable.sample_5, R.drawable.sample_6,
R.drawable.sample_7 }; //我们将名称为drawable_sample_1的图片文件,拷贝到drawable/下面。

public ImageAdapter(Context context){
mContext = context;
}

public int getCount() {
return mImageIds.length;
}

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

public long getItemId(int position) {
return position;
}
//步骤3:每个item都是ImageView,通过setImageResource将图片呈现,设置每个item的大小,以及显示比例,这里,我们采用FIT_XY,根据X:Y将整个图片显示出来,如果X:Y和图片长:宽不一样,图片可能有些变形。
public View getView(int position, View convertView, ViewGroup parent) {
ImageView image = new ImageView(mContext);
image.setImageResource(mImageIds[position]);
image.setLayoutParams(new Gallery.LayoutParams(150,100));
image.setScaleType(ImageView.ScaleType.FIT_XY);
return image;
}
}
}

3)通过xml文件对item的格式进行设置

我们在res/values/下面增加一个xml文件,用于描述自定义widget的属性格式为

<resources>
<declare-styleable name="XXXX">
<attr name="AAAAA" format="BBBB" />
<attr name="aaaaa" format="bbbb" />
</declare-styleable>
</resources>

在R.java中将增加int R.styleable.XXXX[]来表示此定义,如果里面有2个属性,则有两个元素。在本例,设置style的属性,我们设置一个android已定义的属性galleryItembackground,它定义一个具有一个边框的gallery的item。如下:

<resources>
<declare-styleable name="HelloGallery">
<attr name="android:galleryItemBackground" />
</declare-styleable>
</resources>

获得自定义属性方式:

TypedArray a= obtainStyledAttributes (R.styleable.XXX /*int[]*/ );
attrId = a.getResourceId (R.styleable.XXXX_AAAA,defaultId);//获得该属性的ID, 如果没有发现该属性,则返回defaultId的值。
a.recyle (),//在使用obtainStyledAttributes()后应调用,是的可以被系统重用。

在这个例子中:

public ImageAdapter(Context context){
... ...
TypedArray a= obtainStyledAttributes(R.styleable.HelloGallery);
mGalleryItemBackground = a.getResourceId(R.styleable.HelloGallery_android_galleryItemBackground , 0);
a.recycle();
}

public View getView(int position, View convertView, ViewGroup parent) {
... ...
image.setBackgroundResource (mGalleryItemBackground);
... ...
}

相关链接:我的Andriod开发相关文章

分享到:
评论

相关推荐

    Android 学习笔记(十五):Activity-GalleryView.doc

    总结来说,`Activity-GalleryView`的学习笔记主要涵盖了如何在Android应用中使用`GalleryView`来展示图片,包括`LogCat`调试、`GalleryView`的XML布局、自定义适配器的实现以及事件监听的处理。虽然`GalleryView`在...

    jquery-galleryview-1.1

    《jQuery GalleryView 1.1:打造超炫图片浏览体验》 jQuery GalleryView 1.1 是一个基于jQuery库的高效、炫酷的图片浏览器插件。它以其独特的设计和流畅的用户体验,深受开发者和设计师的喜爱。这个插件提供了一种...

    jQuery GalleryView - by Jack Anderson 相册

    **jQuery GalleryView 相册详解** jQuery GalleryView是由Jack Anderson开发的一款强大且美观的相册插件,它利用了jQuery库的优势,为网页中的图片展示提供了动态、交互式的解决方案。这款插件以其流畅的动画效果和...

    Android Gellary3D 源码

    **Android Gellary3D 源码解析*...通过深入研究Android Gellary3D的源代码,开发者可以学习到如何在Android平台上实现高效的3D图形渲染、数据加载优化、UI设计以及多线程编程,这对于提升Android应用开发技能大有裨益。

    GalleryView

    《GalleryView:构建优雅的图片展示系统》 在IT领域,尤其在Web开发中,一个优秀的图片展示系统是必不可少的。"GalleryView"是一个专为此目的设计的工具,它允许开发者创建美观、交互性强的图片画廊。这篇文章将...

    GalleryView简单例子

    在Android开发中,`GalleryView`是一个非常有用的控件,它允许用户在水平方向上滚动浏览一系列的图像或其它视图。在这个“GalleryView简单例子”中,我们将深入探讨如何利用`GalleryView`来实现一个点击预览的功能,...

    带后台jQuery galleryview幻灯片

    【jQuery galleryview 幻灯片】是一种流行的JavaScript库,它为网页中的图片展示提供了一种优雅、动态且可自定义的解决方案。GalleryView基于jQuery框架,允许开发者创建具有平滑过渡效果的高质量相册,同时提供了...

    PagerView:GalleryView 模拟 ViewPager

    这可能意味着 PagerView 项目是为了解决一些旧代码或库中使用 GalleryView 的情况,而这些代码需要在新版 Android 上运行,因为 GalleryView 在 Android 3.0(API 级别 11)后就被弃用了。开发者可能通过重写和扩展 ...

    jQuery超炫图片播放

    本篇文章将详细讲解如何利用jQuery实现一个超炫的图片播放功能,以"jQuery图片播放实例-galleryview"为例,探讨相关的知识点。 首先,`jQuery图片播放`是指使用jQuery库来创建具有动态效果的图片展示机制,这种机制...

    GalleryView3D

    **GalleryView3D** 是一个专门用于实现3D视图效果的技术,在Android开发中尤其常见,它能够为用户带来更加动态、炫丽且直观的图片浏览体验。在Android应用设计中,这种3D效果通常被用于照片画廊、应用启动页或者产品...

    GalleryView:GalleryView项目是最近不推荐使用的Gallery小部件的替代方案

    图库浏览 GalleryView是一个开源Android项目,它是基于Android Gallery Widget(现已弃用)的想法而构建的。 基于单个活动GalleryViewActivity的画廊视图。 您只需要向其传递可绘制列表或文件路径列表即可。 它渲染...

    android 仿头条 微信大图预览动画 双击缩放 保存至相册.zip

    在项目中,GalleryView-master可能包含以下主要部分: 1. GalleryView.java:自定义视图类,实现图片预览和双击缩放的核心逻辑。 2. Adapter:适配器类,负责数据绑定和视图的创建,可能使用了RecyclerView或...

    自定义GalleryView

    在Android开发中,`Gallery`组件是一个非常有用的视图,它允许用户在水平方向上滚动浏览一系列项目,常用于图片轮播或者选择器等场景。然而,原生的`Gallery`...在Android开发过程中,不断学习和实践是提升技能的关键。

    图片浏览器控件

    - 第三方库:开发者可以利用开源库如ImageViewer(C#)、GalleryView(Java)或PhotoView(Android)等快速构建图片浏览器。 6. **应用场景**: - 数字媒体应用:照片编辑软件、看图软件、社交媒体应用等。 - ...

    JS BANNE

    3. **jquery-galleryview-1.1**:这个文件夹很可能包含了JS BANNE 库的源代码,基于jQuery框架。jQuery是一个广泛使用的JavaScript库,它简化了DOM操作、事件处理和动画等功能,使得开发变得更加便捷。 在实际使用...

    Android代码-仿即刻首页滚动效果

    compile 'me.wangyuwei:GalleryView:1.0.0' Lincense Copyright [2016] [JeasonWong of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in ...

    Android仿头条、微信大图预览视图的方法详解

    Android仿头条、微信大图预览视图的方法详解 大图预览是移动应用程序中的一种常见功能, Android 仿头条、微信大图预览视图是指在 Android 平台上实现大图预览的功能,类似于微信和头条应用程序中的大图预览功能。...

    LXGalleryView:可自定义幻灯片的自定义单元格

    LXGalleryView LXGalleryView是用于自定义单元格的可...let galleryView = LXGalleryView ( frame : frame, delegate : self , dataSource : self ) self . view . addSubview (galleryView) 将自定义单元格注册到L

    GalleryView jQuery 1.4 精美相册下载

    内容索引:脚本资源,jQuery,jQuery相册,GalleryView jQuery GalleryView精美相册程序打包,使用 jQuery1.4插件,本来使用的是jquery 1.3.2,但是想体验一下新版本的强大功能,就用了jquery 1.4,测试没有问题,就是...

    android_4 ppt (吉林大学android课程英文讲义)

    开发者可以通过这份文档学习如何在Android应用中创建直观和交互性强的用户界面。由于讲义来自吉林大学的外教,还特别提到了版权信息和引用的资料来源,强调了学习资源的引用和尊重知识产权的重要性。

Global site tag (gtag.js) - Google Analytics