public abstract class AdapterViewAnimator extends AdapterView<T extends Adapter>
java.lang.Object
↳ android.view.View
↳ android.view.ViewGroup
↳ android.widget.AdapterView<Textends android.widget.Adapter>
↳android.widget.AdapterViewAnimator
已知直接子类
一:类概述:
AdapterViewAnimator继承自基类AdapterView,当在视图间切换时会显示动画.
二:xml属性:
android:animateFirstView
定义 ViewAnimation 首次显示时是否对当前视图应用动画.
一定是布尔值,“true”或“false”.
也可以是对包含该类型值的资源(形式为 “@[package:]type:name”)或主题属性(形式为 “?[package:][type:]name”) 的参照.
该属性与全局属性资源符号 animateFirstView 对应.
- 相关方法
android:inAnimation
//标识显示视图时使用的动画.
//一定是对其它资源的参照,形式为“@[+][package:]type:name” 或“?[package:][type:]name”形式的主题属性.
//该属性与全局属性资源符号 inAnimation 对应.
//相关方法
android:loopViews
//定义当动画执行到列表尾部后,是否循环执行到第一个视图.
//一定是布尔值,“true”或“false”.
//也可以是对包含该类型值的资源(形式为 “@[package:]type:name”)或主题属性(形式为 “?[package:][type:]name”) 的参照.
//该属性与全局属性资源符号 loopViews 对应.
//相关方法
android:outAnimation
//标识隐藏视图时使用的动画.
//一定是对其它资源的参照,形式为“@[+][package:]type:name” 或“?[package:][type:]name”形式的主题属性.
//该属性与全局属性资源符号 outAnimation 对应.
//相关方法
三:公开的构造函数:
public AdapterViewAnimator ( Context context); //引入自: API 级别11
public AdapterViewAnimator ( Context context, AttributeSet attrs); // 引入自: API 级别11
public AdapterViewAnimator ( Context context, AttributeSet attrs, int defStyleAttr);
四:公共方法:
public void advance ();// 引入自: API 级别11
//由 AppWidgetHost 调用.在应用小部件中用于移动到下一个视图.
public void deferNotifyDataSetChanged (); // 引入自: API 级别14
//该设置推迟向没有连接的、未确定 RemoteViewsAdapter 发送 notifyDataSetChanged 消息.
public void fyiWillBeAdvancedByHostKThx ();// 引入自: API 级别11
//由 AppWidgetHost 调用.指出将来的某个时点,会调用 advance() 将AdapterViewAnimator 中的视图向前移动.这样子类可以执行一些必要的设置,比如停止自动移动他们的子视图.
public Adapter getAdapter () | 引入自: API 级别11 |
返回当前与该小部件关联的适配器.
-
返回
- 用于提供视图内容的适配器.
public int getBaseline () | 引入自: API 级别11 |
返回小部件顶端到文本基线的偏移量.如果小部件不支持基线对齐,该方法返回 -1.
-
返回
- 小部件顶端到文本基线的偏移量;或者是 -1 当小部件不支持基线对齐时.
public View getCurrentView () | 引入自: API 级别11 |
返回当前显示的子视图.
-
返回
- 当前显示的视图.
- 参见
public int getDisplayedChild () | 引入自: API 级别11 |
返回当前显示的子视图索引.
public ObjectAnimator getInAnimation () | 引入自: API 级别11 |
返回视图进入屏幕时显示的动画.
-
返回
- 动画,当未设置时为空.
- 参见
public ObjectAnimator getOutAnimation () | 引入自: API 级别11 |
返回视图退出屏幕时显示的动画.
-
返回
- 动画,当未设置时为空.
- 参见
public View getSelectedView () | 引入自: API 级别11 |
-
返回
- 当前选中条目对应的视图;无选中条目时返回空.
public boolean onRemoteAdapterConnected () | 引入自: API 级别11 |
适配器建立到 RemoteViewsService 的连接时的回调函数.
public void onRemoteAdapterDisconnected () | 引入自: API 级别11 |
适配器断开到 RemoteViewsService 的连接时的回调函数.
public void onRestoreInstanceState ( Parcelable state) | 引入自: API 级别11 |
允许视图重新应用之前由 onSaveInstanceState() 保存的内部状态的回调函数. 该方法得 state 参数不可能为空.
- 参数
-
-
state 之前由 onSaveInstanceState() 返回的状态信息.
-
public Parcelable onSaveInstanceState () | 引入自: API 级别11 |
允许视图保存其内部状态的回调函数,以便于之后使用相同状态创建新实例. 该状态应该只包含非持久的或者之后不可重现的信息.例如,你不能保存视图在屏幕上的位置,因为在创建新视图时,会在视图得层次结构中重新计算它的位置.
这里是一些可以保存的信息的例子:文本框中当前光标的位置(通常不是文字内容本身,因为文字内容一般保存在内容提供者或其他持久的储存器中),列表视图中的当前选中条目等等.
-
返回
- 返回包含视图当前状态的 Parcelable 对象,当不想保存状态时返回空.默认实现返回空.
public boolean onTouchEvent ( MotionEvent ev) | 引入自: API 级别11 |
实现该方法可以处理触屏动作事件.
- 参数
-
-
ev 动作时间
-
-
返回
- 如果处理了事件,返回真;否则返回假.
public void setAdapter ( Adapter adapter) | 引入自: API 级别11 |
设置用于为该小部件的视图提供用于显示的数据的适配器.
- 参数
-
-
adapter 用于创建视图内容的适配器.
-
public void setAnimateFirstView (boolean animate) | 引入自: API 级别11 |
设置视图动画对象首次显示时,是否为当前视图显示动画.
- 参数
-
-
animate 视图动画对象首次显示时为当前视图显示动画时为真;否则为假.
-
public void setDisplayedChild (int whichChild) | 引入自: API 级别11 |
设置显示那个子视图.
- 参数
-
-
whichChild 要显示的子视图索引
-
public void setInAnimation ( ObjectAnimator inAnimation) | 引入自: API 级别11 |
指定视图进入屏幕时显示的动画.
- 参数
-
-
inAnimation 视图进入屏幕时启动的动画
-
public void setInAnimation ( Context context, int resourceID) | 引入自: API 级别11 |
指定视图进入屏幕时显示的动画.
- 参数
-
-
context 应用程序上下文 resourceID 动画的资源 ID
-
public void setOutAnimation ( Context context, int resourceID) | 引入自: API 级别11 |
指定视图退出屏幕时显示的动画.
- 参数
-
-
context 应用程序上下文 resourceID 动画的资源 ID
-
public void setOutAnimation ( ObjectAnimator outAnimation) | 引入自: API 级别11 |
指定视图退出屏幕时显示的动画.
- 参数
-
-
outAnimation 视图退出屏幕时启动的动画
-
public void setRemoteViewsAdapter ( Intent intent) | 引入自: API 级别11 |
将 AdapterViewAnimator 设置为使用通过制定的意图连接的 RemoteViewsService 的远程视图适配器.
- 参数
-
-
intent 用于标识适配器连接的 RemoteViewsService 的意图.
-
public void setSelection (int position) | 引入自: API 级别11 |
设置当前选择条目.为了支持无障碍功能,重写该方法的子类必须首先调用父类的该方法.
- 参数
-
-
position 选择的数据条目的索引(从零开始).
-
public void showNext () | 引入自: API 级别11 |
显示下一个子视图.
public void showPrevious () | 引入自: API 级别11 |
显示上一个子视图.
保护的方法
protected void onLayout (boolean changed, int left, int top, int right, int bottom) | 引入自: API 级别11 |
该视图设置其子视图的大小及位置时调用.派生类可以重写此方法,并为其子类布局.
- 参数
-
-
changed 是否为视图设置了新的大小和位置. left 相对于父视图的左侧的位置. top 相对于父视图的顶部的位置. right 相对于父视图的右侧的位置. bottom 相对于父视图的底部的位置.
-
protected void onMeasure (int widthMeasureSpec, int heightMeasureSpec) | 引入自: API 级别11 |
评估视图及其内容,以决定其宽度和高度.此方法由 measure(int, int) 调用,子类可以重载以提供更精确、更有效率的衡量其内容尺寸的方法.
约定: 覆盖该方法时,必须调用 setMeasuredDimension(int, int) 方法来保存评估结果的视图的宽度和高度.如果忘记将导致 measure(int, int) 方法抛出IllegalStateException异常.要有效的利用父类的 onMeasure(int, int)方法.
基类测量的是背景的大小,除非 MeasureSpec 允许超过背景.子类应该重写 onMeasure(int, int) 方法,以为其内容提供更适合的大小.
如果重写了该方法,子类要确保其高度和宽度大于等于视图的最小高度和宽度. ( getSuggestedMinimumHeight() 和 getSuggestedMinimumWidth())
- 参数
-
-
widthMeasureSpec 父视图要求的横向空间大小.该要求由 View.MeasureSpec 进行了编码处理. heightMeasureSpec 父视图要求的纵向空间大小.该要求由 View.MeasureSpec 进行了编码处理.
-