Android AdapterViewAnimator

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

已知直接子类

AdapterViewFlipper, StackView

一:类概述:

 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

返回当前显示的子视图.

返回
当前显示的视图.
参见
getDisplayedChild()


public int getDisplayedChild () 引入自: API 级别11

返回当前显示的子视图索引.


public ObjectAnimator getInAnimation () 引入自: API 级别11

返回视图进入屏幕时显示的动画.

返回
动画,当未设置时为空.
参见
setInAnimation(android.animation.ObjectAnimator)
setInAnimation(android.content.Context, int)


public ObjectAnimator getOutAnimation () 引入自: API 级别11

返回视图退出屏幕时显示的动画.

返回
动画,当未设置时为空.
参见
setOutAnimation(android.animation.ObjectAnimator)
setOutAnimation(android.content.Context, int)


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 视图进入屏幕时启动的动画
参见
getInAnimation()
setInAnimation(android.content.Context, int)


public void setInAnimation ( Context context, int resourceID) 引入自: API 级别11

指定视图进入屏幕时显示的动画.

参数
context 应用程序上下文
resourceID 动画的资源 ID
参见
getInAnimation()
setInAnimation(android.animation.ObjectAnimator)


public void setOutAnimation ( Context context, int resourceID) 引入自: API 级别11

指定视图退出屏幕时显示的动画.

参数
context 应用程序上下文
resourceID 动画的资源 ID
参见
getOutAnimation()
setOutAnimation(android.animation.ObjectAnimator)


public void setOutAnimation ( ObjectAnimator outAnimation) 引入自: API 级别11

指定视图退出屏幕时显示的动画.

参数
outAnimation 视图退出屏幕时启动的动画
参见
getOutAnimation()
setOutAnimation(android.content.Context, int)


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 进行了编码处理.

 

 

 

 

 

 

 

 

 

 

 

 

 

转载于:https://my.oschina.net/amigos/blog/62845

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值