- 浏览: 249874 次
- 性别:
- 来自: 内蒙古
文章分类
- 全部博客 (237)
- Android 功能实现 (31)
- sql数据库的学习 (8)
- Android 美化界面 (2)
- Android 优化 (1)
- Ruby on Rails 方面 (45)
- git 方面的学习 (1)
- ruby 编程的琢磨 (13)
- linux下工具软件 (13)
- 操作系统的学习 (40)
- 非技术 (13)
- 网站开发 (18)
- js 学习笔记 (19)
- css学习 (5)
- 回顾总结 (2)
- Delphi 学习 (2)
- C 语言学习笔记 (1)
- 数据结构 (1)
- node js 学习 (6)
- 设计模式 (2)
- mongdb 学习笔记 (0)
- 软件服务 (3)
- osx系统 (4)
- 搜索引擎 (1)
- 测试工具 (1)
- Aliyun (1)
- 前端JS (1)
- python学习 (0)
- iOS系统 (1)
- 分布式锁 (1)
- 开发工具 (0)
- java代码 (2)
- java (1)
最新评论
-
jiguanghover:
写的不错,收藏一下
Ubuntu下RVM, Ruby, rails安装详细 和 卸载 -
maoghj:
回顾总结(二) -
yun2223:
对楼主表示感谢
Android控件开发之Gallery3D效果 -
zw_lovec:
说清楚点吧 亲 加点注释
out of memory -
lzyfn123:
http://www.iteye.com/images/smi ...
ruby-string 字符串的学习
android Gallery
正文
一、结构
public class Gallery extends AbsSpinner
implements GestureDetector.OnGestureListener
Java .lang.Object
android.view.View
android.view.ViewGroup
android.widget.AdapterView<T extends android.widget.Adapter>
android.widget.AbsSpinner
android.widget.Gallery
二、概述
一个锁定中心条目并且拥有水平滚动列表的视图。
Gallery(画廊)使用
Theme_galleryItemBackground
作为
Gallery(画廊)适配器中的各视图的默认参数。如果你没有设置,你就需要调整一些
Gallery(画廊)的属性,比如间距。
Gallery(画廊)中的视图应该使用 Gallery.LayoutParams作为它们的布局参数类型。
参见 Gallery tutorial 。
三、内部类
class Gallery.LayoutParams
Gallery(画廊 )扩展了 LayoutParams,以此提供可以容纳当前的转换信息和先前的位置转换信息的场所。
四、XML属性
属性名称 |
描述 |
|||||||||||||||||||||||||||||||||||||||
android:animationDuration |
设置布局变化时动画的转换所需的时间(毫秒级)。仅在动画开始时计时。该值必须是整数,比如: 100。 |
|||||||||||||||||||||||||||||||||||||||
android:gravity |
指定在对象的X和Y轴上如何放置内容。指定一下常量中的一个或多个(使用 “|”分割)
|
|||||||||||||||||||||||||||||||||||||||
android:spacing |
(译者注:设置图片之间的间距) |
|||||||||||||||||||||||||||||||||||||||
android:unselectedAlpha |
设置未选中的条目的透明度(Alpha)。该值必须是float类型,比如:“1.2”。 |
五、公共方法
public boolean dispatchKeyEvent (KeyEvent event)
在焦点路径上分发按钮事件到下一个视图。该路径从视图树的顶端遍历到当前获得焦点的视图。如果当前视图已获得焦点,就分发给自身。否则,就分发到下一个节点的焦点路径上。该方法监听任何按钮事件。
参数
event 被分发的按钮事件
返回值
时间被处理返回 true,否则 false
public void dispatchSetSelected (boolean selected)
分发 setSelected给视图的子类。
参数
selected 新选中的状态
public ViewGroup.LayoutParams generateLayoutParams (AttributeSet attrs)
返回一个新的已设置属性集合的布局参数。
参数
attrs 用于生成布局参数的属性集合
返回值
一个 ViewGroup.LayoutParams实例或者它的子类
public boolean onDown (MotionEvent e)
当轻击和按下手势事件发生时通知该方法。任何按下事件都会直接触发该方法。所有其他的事件都要先于该方法。
参数
e 按下动作事件
public boolean onFling (MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)
当初始化的按下动作事件和松开动作事件匹配时通知 fling(译者注:快滑,用户按下触摸屏、快速移动后松开)事件 。该动作的速度通过计算 X和 Y轴上每秒移动多少像素得来。
参数
e1 导致开始 fling的按下动作事件。
e2 触发当前 onFling方法的移动动作事件
velocityX 测量 fling沿 X轴上的速度,像素 /每秒
velocityY 测量 fling沿 Y轴上的速度,像素 /每秒
返回值
如果该事件被消耗返回 true,否则 false。
public boolean onKeyDown (int keyCode, KeyEvent event)
处理左,右和点击事件
参数
keyCode
代表按下按钮的按键码,来自
KeyEvent
。
event 定义按钮动作的 KeyEvent对象。
返回值
如果已经处理了按钮事件,则返回 true。如果你想让下一个事件接收者处理,就返回 false
参见
public boolean onKeyUp (int keyCode, KeyEvent event)
KeyEvent.Callback.onKeyMultiple()
方法的默认实现:当
KEYCODE_DPAD_CENTER
或者
KEYCODE_ENTER
被释放时,执行点击视图操作。
参数
keyCode
代表按下按钮的按键码,来自
KeyEvent
。
event 定义按钮动作的 KeyEvent对象。
返回值
如果已经处理了按钮事件,则返回 true。如果你想让下一个事件接收者处理,就返回 false
public void onLongPress (MotionEvent e)
MotionEvent
初始化并按下触发长按并通知本方法
。
参数
e 导致开始长按的初始按下动作事件。
public boolean onScroll (MotionEvent e1, MotionEvent e2, float distanceX, float distanceY)
当初始按下动作事件和当前移动动作事件导致滚动时通知本方法。为了方便提供了 X和 Y轴上的距离。
监听屏幕滚动事件。为了方便提供了 X和 Y轴上的距离。
参数
e1 导致滚动开始按下的动作事件。
e2 触发当前 onScroll方法的移动动作事件。
distanceX 距离是自上一次调用 onScroll方法在 X轴上的距离。不是 e1 和 e2之间的距离。
distanceY 距离是自上一次调用 onScroll方法在 Y轴上的距离。不是 e1 和 e2之间的距离。
返回值
如果该事件被消耗返回 true否则 false
public void onShowPress (MotionEvent e)
用户已经执行按下动作还没有执行移动或者弹起动作。该事件常通过高亮一个元素来向用户提供一个视觉反馈即用户的操作已经被辨识了。
参数
e 按下动作事件
public boolean onSingleTapUp (MotionEvent e)
在轻击动作和 up动作事件触发时通知本方法。(译者注:点击屏幕上的某项的执行流程 有两种情况,一种是时间很短,一种时间稍长:时间很短: onDown--->onSingleTapUp--->onSingleTapConfirmed,见 这里 1 , 这里 2 。)
参数
e 完成开始轻击的 up动作事件
返回值
如果该事件被消耗返回 true否则 false
public boolean onTouchEvent (MotionEvent event)
实现该方法来处理触摸屏动作事件
参数
event 动作事件
返回值
如果该事件被消耗返回 true否则 false
public void setAnimationDuration (int animationDurationMillis)
设置当子视图改变位置时动画转换时间。仅限于动画开始时生效。
参数
animationDurationMillis 动画转换时间(毫秒级)
public void setCallbackDuringFling (boolean shouldCallback)
当
flinged时是否回调每一个
getOnItemSelectedListener()
。如果设为
false,只回调最终选中的项。如果为
true,则所有的项都会回调。
参数
shouldCallback 设置抛滑的过程中是否回调
public void setGravity (int gravity)
描述子视图的对齐方式。
public void setSpacing (int spacing)
设置 Gallery中项的间距
参数
spacing Gallery 中项的间距,以像素为单位
public void setUnselectedAlpha (float unselectedAlpha)
设置 Gallery中未选中项的透明度 (alpha)值。
参数
unselectedAlpha 未选中项的透明度 (alpha)值
public boolean showContextMenu ()
显示该视图上下文菜单。
返回值
上下文菜单是否显示。
public boolean showContextMenuForChild (View originalView)
为指定的视图或者其父类显示上下文菜单。
大部分情况下,子类不需要重写该方法。但是,如果子类被直接添加到窗口管理器(例如: addView(View.android.view.ViewGroup.LayoutParams)),此时就需要重写来显示上下文菜单
参数
originalView 上下文菜单初次调用的源视图
返回值
如果上下文菜单被显示了 则返回 true。
六、受保护方法
protected int computeHorizontalScrollExtent ()
在水平范围内计算滚动条滑块的滚动范围。该值用来计算滚动条滑块的长度。
该范围可以使用任意的单位但是必须跟
computeHorizontalScrollRange()
和
computeHorizontalScrollOffset()
的单位
保持一致。
默认范围是视图的宽度。
返回值
滚动条滑块的水平滚动范围
protected int computeHorizontalScrollOffset ()
在水平范围内计算滚动条滑块的偏移量。该值用来计算水平滑块的位置。
该范围可以使用任意的单位但是必须跟
computeHorizontalScrollRange()
和
computeHorizontalScrollExtent()
的单位
保持一致。
默认偏移量是视图的偏移量。
返回值
滚动条滑块的水平偏移量。
protected int computeHorizontalScrollRange ()
计算滚动条水平方向上的滚动范围。
该范围可以使用任意的单位但是必须跟
computeHorizontalScrollExtent()
和
computeHorizontalScrollOffset()
的单位
保持一致。
返回值
水平滚动条代表的滑动总范围。
protected void dispatchSetPressed (boolean pressed)
分发 setPressed到 View的子类。
参数
pressed 新按下的状态
protected ViewGroup.LayoutParams generateDefaultLayoutParams ()
返回默认的布局参数。当
View作为参数传递给
addView(View)
而没有布局参数时就会请求这些参数。如果返回
null,则
addView会抛出异常。
返回值
默认的布局参数或 null
protected ViewGroup.LayoutParams generateLayoutParams (ViewGroup.LayoutParams p)
返回一组合法的受支持的布局参数。当把 ViewGroup传递给 View而该 View的布局参数并没有通过 checkLayoutParams(android.view.ViewGroup.LayoutParams)的测试时,就会调用该方法。该方法应该返回一组适合该 ViewGroup的新的布局参数,该过程可能需要从指定的一组布局参数中复制相关的属性。
参数
p 被转换成适合该 ViewGroup的一组参数。
返回值
返回一个 ViewGroup.LayoutParams的实例或者一个它的子类。
protected int getChildDrawingOrder (int childCount, int i)
返回迭代的绘制子类索引。如果你想改变子类的绘制顺序就要重写该方法。默认返回 i 值。
提示:为了能够调用该方法,你必须首先调用
setChildrenDrawingOrderEnabled(boolean)
来允许子类排序。
参数
childCount 子类个数
i 当前迭代顺序
返回值
绘制该迭代子类的索引
protected boolean getChildStaticTransformation (View child, Transformation t)
(译者注: setStaticTransformationsEnabled这个属性设成 true的时候每次 viewGroup(看 Gallery的源码就可以看到它是从 ViewGroup间接继承过来的 )在重新画它的 child的时候都会促发 getChildStaticTransformation这个函数。 这 里 1 、 这里 2 )
protected ContextMenu.ContextMenuInfo getContextMenuInfo ()
Views如果有额外的信息跟上下文菜单有联系的话就需要实现该方法。返回的结果被用作回调方法 onCreateContextMenu(ContextMenu, View, ContextMenuInfo)的参数。
返回值
显示上下文菜单的条目的额外信息。这些信息将会改变 View不同的子类
protected void onFocusChanged (boolean gainFocus, int direction, Rect previouslyFocusedRect)
当该视图的焦点状态发生改变时将会调用视图系统。当导向的方向触发焦点事件时,方向和先前获得焦点的矩形提供焦点事件的来源。当用户重写该方法,必须调用父类方法来触发标准的焦点处理事件。
参数
gainFocus 如果 View获得焦点为 true,否则 false
direction 当调用 requestFocus()方法来给该视图焦点时焦点的移动方向。该值 :FOCUS_UP, FOCUS_DOWN, FOCUS_LEFT 或 FOCUS_RIGHT。该参数不常用,通常使用它的默认值。
previouslyFocusedRect 该视图坐标系统中先前获得焦点的视图的矩形。如果适用,这将获得焦点事件来源的更细致的信息(除了方向以外)。否则为 null。
protected void onLayout (boolean changed, int l, int t, int r, int b)
当视图为每一个子类分配大小和位置时从布局中调用该方法。有子类的派生类应该重写该方法在子类中调用布局。
参数
changed 该视图新的大小和位置。
l 相对父容器的左侧位置
t 相对父容器的顶部位置
r 相对父容器的右侧位置
b 相对父容器的底部位置
七、补充
发表评论
-
Android里的音量调节
2013-04-01 13:37 1362步骤1:或许系统音量 ... -
Android Camera 方法分析
2012-03-29 10:52 3525Android Camera源码分析 android通 ... -
MyCameraActivity
2012-03-29 10:10 724package cn.fn; import android. ... -
MyCameraActivity
2012-04-01 13:27 905package cn.fn; import android. ... -
android AutoCompleteTextView+ SQLite
2012-03-21 13:33 1135android AutoCompleteTextView+ S ... -
android 异步回调加载网络图片
2012-03-20 11:50 961在做应用的时候很多时候都会去从网络加载图片,而且还要做各种各样 ... -
ProgressBar+AsyncTask 实现界面数据异步加载
2012-03-20 10:09 1644ProgressBar+AsyncTask 实现界面数据异步 ... -
Android 网络图片异步加载实例
2012-03-20 10:04 1005Android 网络图片异步加载实例 ... -
解决java.lang.OutOfMemoryError
2012-03-19 15:53 1113解决java.lang.OutOfMemoryError ... -
android Text 删除线
2012-03-16 19:35 1195import android.app.Activit ... -
Android的线程使用来更新UI----Thread、Handler、Looper、TimerTask,Task,AsynTask等
2012-03-14 11:43 1468Android的线程使用来更新UI----Thread、Han ... -
AsyncTask的使用
2012-03-14 10:59 848AsyncTask的使用 ... -
Android控件开发之Gallery3D效果
2012-03-13 14:38 2950Android控件开发之Gal ... -
android GridView
2012-03-08 10:28 932主类 import android.app.Activi ... -
ListView异步加载图片是非常实用的方法
2012-03-08 10:09 983ListView异步加载图片是非常实用的方法,凡是是要通过网络 ... -
复制assets下的数据库到SD卡
2012-03-07 10:56 1251首先使用sqliteadDev(一个windows下图形化sq ... -
Android异步加载图像小结
2012-03-06 16:46 623Android异步加载图像小结 (1)由于an ... -
AutoCompleteTextView
2012-03-05 14:53 1450AutoCompleteTextView ... -
android 动态加载List
2012-03-05 11:11 1015main.xml <?xml ver ... -
AutoCompleteTextView
2012-03-02 16:17 1084public class CityAdapter<T& ...
相关推荐
**Android Gallery控件详解** Android Gallery控件是Android SDK中提供的一种用于展示一系列项的水平滚动视图。这个控件可以用来创建一个类似图片轮播的效果,用户可以通过左右滑动来浏览不同的项目。在Android早期...
### Android Gallery + ImageSwitcher详解 在Android开发中,`Gallery` 和 `ImageSwitcher` 是两个用于展示图像集合和实现图像切换效果的重要组件。它们各自具有独特的优势,结合使用时,可以创建出功能丰富、视觉...
在Android开发中,`Gallery`组件是用于展示一系列图片或者元素的一个横向滚动视图,它让用户可以方便地在多个项目间进行浏览选择。这个组件在早期版本的Android SDK中非常常见,但由于Android设计的更新,它在API 16...
**Android的Gallery3D详解** Gallery3D是Android操作系统中的一款强大的3D图像查看应用,专为用户提供了独特的三维浏览体验。它不仅是一款高效的图片管理工具,还利用了Android设备的硬件加速功能,实现了流畅的3D...
**Android Gallery3D详解** Gallery3D是Android平台上的一款高性能图片浏览器应用,它以其流畅的3D滚动效果和优秀的用户体验而备受赞誉。本篇将深入探讨Gallery3D的源代码,解析其背后的实现原理和技术细节。 ### ...
**Android Gallery2详解** 在Android系统中,Gallery2是一个经典的图片浏览组件,它允许用户以横向滑动的方式查看和选择图片。在Android源码开发中,深入理解Gallery2的实现原理对于开发者来说至关重要,因为这有助...
**Android Gallery 效果详解** 在Android开发中,`Gallery`组件是一个非常实用的控件,主要用于展示一系列水平排列的项目,用户可以左右滑动来浏览。在Android 2.3.3(API级别10)的时代,`Gallery`是实现轮播效果...
【Android View详解第三部分】 在Android开发中,View是一个核心概念,它代表用户界面上的可视化元素。在本部分的讲解中,我们将深入探讨几个重要的View组件:TabHost、ScrollView、ListView、ListActivity、...
**Gallery类详解** Gallery是一个线性布局管理器,可以水平展示项目。它继承自AbsSpinner,具有触摸滑动和自动滚动的能力。开发者可以通过设置onItemSelectedListener监听用户选择的项目变化。然而,由于Gallery的...
本文主要介绍了 Android Studio 中下拉菜单 Spinner 的使用详解,包括 Spinner 的相关属性、使用方法和示例程序,以及与 Gallery 组件的区别和用法。希望对大家的学习有所帮助,也希望大家多多支持我们。
1.1 初识android 1.1.1 历史背景 1.1.2 android特性 1.1.3 android组件结构 1.1.4 android应用程序框架 1.1.5 android的竞争优势 1.1.6 android模拟器 1.2 搭建android开发环境 1.2.1 准备工作 1.2.2 windows系统下...
Gallery2是Android系统中用于查看和管理多媒体文件的应用程序。在本篇文章中,我们将深入探讨Gallery2的源码流程,特别是其数据获取与加载的方式,以及如何处理多媒体文件的展示逻辑。 #### 二、Gallery2数据获取与...
《Android 6.0 Gallery2在Eclipse中的编译与运行详解》 Android 6.0 Gallery2是一款针对Android 6.0系统设计的图片浏览应用,它在Eclipse开发环境中进行编译和运行,提供了丰富的图片管理和展示功能。本文将深入...
《Android控件Gallery3D效果实现详解》 在Android应用开发中,为了提供更丰富的用户交互体验,常常会使用到一些特殊效果的控件。其中,Gallery3D效果就是一个非常吸引眼球的设计,它能实现类似3D翻转的图片浏览体验...
Android的系统架构 6 一、应用程序 6 二、应用程序框架 6 三、Android Runtime 7 四、系统库 7 五、Linux 内核 8 Webkit浏览器引擎简介 9 Dalvik虚拟机简介 11 什么是Dalvik虚拟机 11 Dalvik和Android系统 11 Dalvik...
《Gallery——Android15代码详解》 在Android操作系统中,`Gallery`组件是早期版本(如Android 15)中用于展示图片或视图的滚动控件,它允许用户通过水平滑动来浏览一系列的元素。`Gallery`控件的设计初衷是为了...
Android高级组件Gallery画廊视图使用方法详解 Android高级组件Gallery画廊视图是一种常用的UI组件,能够按水平方向显示内容,并且可用手指直接拖动图片移动。一般用来浏览图片,被选中的选项位于中间,并且可以响应...
### Android核心技术与实例详解——Android布局管理器 #### 3.1 控件类概述 **3.1.1 View类简介** 在深入了解Android布局管理器之前,首先要掌握的基础概念是`View`类。`View`类是Android系统中所有可视控件的...
Android开发中的`Gallery`和`GridView`都是用于展示数据的视图组件,常用于创建图像或者项目的列表。在本文中,我们将深入探讨这两个组件的特性和使用方法。 ### Gallery组件详解 `Gallery`是一个水平滚动的视图,...