Android中RemoteViews中文帮助文档【安卓翻译一】

前言:大明以后要写一些高质量的博客,尽量说透彻一些,看问题要多角度;遇到问题多思考,其实技术就是一层窗户纸,当你有很多层窗户纸捅不破的时候,就成了困难了,所以解决问题要一层一层分析,把每个窗户纸捅破了,这个问题就pass掉了。我在网上看到大家翻译一些中文的帮助文档,所以我也想翻译试试,看看自己的英文的水平到底怎样?所以小试牛刀一下,先来翻译一下RemoteViews。这个RemoteViews用的是层的概念,就是你添加一个布局在父view上,这个其实是两层。做游戏常用view的层的思想。比如:游戏人物中的对白其实就是层的概念来呈现给用户的。原创作品,禁止商用,转载请标明出处:http://blog.csdn.net/wdaming1986/article/details/7038402

不足之处,希望大家多多指正;

一、继承关系:

RemoteViews extends Objectimplements ParcelableLayoutInflater.Filter

二、类描述:

这个类可以显示在其他进程中的呈层次结构的view类中。这个层次结构可以用layout布局文件加载,并且提供了一些基本的方法来修改其中的内容。

三、内部类摘要:

<nobr>class</nobr> RemoteViews.ActionException 错误的时候执行一个动作来发送异常消息。

<nobr>@interface</nobr> RemoteViews.RemoteView加载这个接口指出了View的子类可以使用RemoteViews机制

四、字段:

publicstatic final Creator<RemoteViews>构造器Parcelable.Creator用来实例化RemoteViews

五、构造函数:

<nobr><span class="sympad"><span style="font-size:18px"> </span><a href="file:///D:/android-sdk-windows/docs/reference/android/widget/RemoteViews.html#RemoteViews(java.lang.String,%20int)"><span style="font-size:18px">RemoteViews</span></a></span><span style="font-size:18px">(</span><a href="file:///D:/android-sdk-windows/docs/reference/java/lang/String.html"><span style="font-size:18px">String</span></a><span style="font-size:18px"> packageName, int layoutId)</span></nobr> ;通过加载指定的布局来显示这个RemoteViews。

<nobr><span class="sympad"><a href="file:///D:/android-sdk-windows/docs/reference/android/widget/RemoteViews.html#RemoteViews(android.os.Parcel)">RemoteViews</a></span>(<a href="file:///D:/android-sdk-windows/docs/reference/android/os/Parcel.html">Parcel</a> parcel)</nobr> ;从一个parcel中读取RemoteViews对象。

六、公共方法:

1、public voidaddView (int viewId,RemoteViews nestedView)

通过调用这个addview方法来加载指定的RemoteViews,它允许用户可以通过内部的方法来加载RemoteViews,在某种情况下这个创建出来的RemoteViews可以回收这个布局,使用removeAllViews(int)清除任何存在的子view视图。

参数:

viewId 要添加子view到哪个父ViewGroupid

nestedView 要添加的子视图RemoteViews

2、publicViewapply (Context context,ViewGroup parent)

用Inflates加载视图对象并且应用到所有的动作中。

这个方法可能抛出异常。

参数:

context 默认上下文context

parent生成视图层将要填充的parent。此方法不会附加到层次结构。调用者应该在适当的时候处理。

返回值:已经用inflate加载的视图层。

3、public RemoteViewsclone ()

创建并返回这个对象的复件,默认的实现返回一个(自称为)浅拷贝。它创建这个类的一个新实例并从原来的

实例中复制字段值(包括类相关的)到这个新的实例。相比之下,深拷贝,还会递归复制内部类。

返回值: 这个类的复件。

4、public int describeContents ()

Parcelable中特定的编码形式描述各种特殊的对象。

返回值:返回由Parcelable特定编码形式的对象类型的位掩码。

5、public int getLayoutId () 得到layout的id

6、publicStringgetPackage () 得到这个类得包

7、public boolean onLoadClass (Class clazz)

Hook允许LayoutInflater客户端限制设置视图,即允许被inflated加载

参数:clazz 用来inflated加载的视图对象

返回值:true:表示允许用这个类;false表示不可以;

8、public void reapply (Context context,View v)

为视图对象添加所有的动作,这个方法会抛这个Caller beware异常;

参数: v 要添加动作的视图。这个应该是apply(Context, ViewGroup)调用的结果

9、public void removeAllViews (int viewId)

和调用removeAllViews()一个效果;

参数:viewed要移除所有子视图的父ViewGroupid

10、public void setBitmap (int viewId,String methodName,Bitmap value)

提供一个RemoteViews在视图布局上可以添加带有Bitmap值的方法。

参数: viewId 整个试图id

methodName 要调用的方法名

value 要传递的值

说明:其他的set的值的方法都差不多,就是参数的不同而已,今天就翻译到这吧,希望对读者有一些微小的帮助!

你可能感兴趣的:(android)