(转)Android之RemoteViews

摘要:
RemoteViews中的setxxx方法比如setCharSequence;views.setString;其中views是RomoteViews的实例,第一个参数就是ID了,第二个参数,是一个方法名字,比如这里是textView,那么textView会有很多方法,比如setBackground(),setText(),setTextColor()等等,第二个参数就填这个函数名,不要括号,第三个参数就填第二个函数所用到的参数,比如如果是setTextColor,第三个参数就带int进去RemoteViews类描述了一个View对象能够显示在其他进程中,可以融合从一个layout资源文件实现布局。

RemoteViews中的setxxx方法
比如setCharSequence(int viewId, String methodName, CharSequence value);
views.setString(R.id.textview01, "setText", battery + "%");
其中views是RomoteViews的实例,
第一个参数就是ID了,
第二个参数,是一个方法名字,比如这里是textView,那么textView会有很多方法,比如setBackground(), setText(), setTextColor()等等,第二个参数就填这个函数名,不要括号,
第三个参数就填第二个函数所用到的参数,比如如果是setTextColor(int), 第三个参数就带int进去(当然如果是这个你就必须用views.setInt(...)这个函数)
RemoteViews 类描述了一个View对象能够显示在其他进程中,可以融合从一个 layout资源文件实现布局。虽然该类在android.widget.RemoteViews而不是appWidget下面但在Android Widgets开发中会经常用到它,主要是可以跨进程调用(appWidget由一个服务宿主来统一运行的)。
如何实例化一个RemoteViews
构造方法
RemoteViews(String packageName, int layoutId)
创建一个新的RemoteViews 对象将显示 views包含指定一个layout资源.
RemoteViews(Parcel parcel)
读取RemoteViews对象从一个parcel中.
首先给大家一段例子简单说明下构造和如何使用
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.appwidget_provider);
views.setTextViewText(R.id.appwidget_text, "Android开发网欢迎您");
appWidgetManager.updateAppWidget(appWidgetId, views);
详细的 该类的公共方法列表,下面的viewId为layout文件中的id定义,常用的方法已经翻译成中文描述。
Public Methods
View apply(Context context, ViewGroup parent)
Inflates the view hierarchy represented by this object and applies all of the actions.
int describeContents()
Describe the kinds of special objects contained in this Parcelable's marshalled representation.
int getLayoutId()
String getPackage()
boolean onLoadClass(Class clazz)
Hook to allow clients of the LayoutInflater to restrict the set of Views that are allowed to be inflated.
void reapply(Context context, View v)
Applies all of the actions to the provided view.
void setBitmap(int viewId, String methodName, Bitmap value)
Call a method taking one Bitmap on a view in the layout for this RemoteViews.
void setBoolean(int viewId, String methodName, boolean value)
Call a method taking one boolean on a view in the layout for this RemoteViews.
void setByte(int viewId, String methodName, byte value)
Call a method taking one byte on a view in the layout for this RemoteViews.
void setChar(int viewId, String methodName, char value)
Call a method taking one char on a view in the layout for this RemoteViews.
void setCharSequence(int viewId, String methodName, CharSequence value)
Call a method taking one CharSequence on a view in the layout for this RemoteViews.
void setChronometer(int viewId, long base, String format, boolean started)
Equivalent to calling Chronometer.setBase, Chronometer.setFormat, and Chronometer.start() or Chronometer.stop().
void setDouble(int viewId, String methodName, double value)
Call a method taking one double on a view in the layout for this RemoteViews.
void setFloat(int viewId, String methodName, float value)
Call a method taking one float on a view in the layout for this RemoteViews.
void setImageViewBitmap(int viewId, Bitmap bitmap)
等同于调用ImageView.setImageBitmap方法,从Bitmap对象中设置一个图片
void setImageViewResource(int viewId, int srcId)
等同于调用ImageView.setImageResource,从一个资源中设置图片
void setImageViewUri(int viewId, Uri uri)
等同于调用ImageView.setImageURI,从URI中设置图像
void setInt(int viewId, String methodName, int value)
Call a method taking one int on a view in the layout for this RemoteViews.
void setLong(int viewId, String methodName, long value)
Call a method taking one long on a view in the layout for this RemoteViews.
void setOnClickPendingIntent(int viewId, PendingIntent pendingIntent)
Equivalent to calling setOnClickListener(android.view.View.OnClickListener) to launch the provided PendingIntent.
void setProgressBar(int viewId, int max, int progress, boolean indeterminate)
等同于调用ProgressBar.setMax, ProgressBar.setProgress, and ProgressBar.如果indeterminate为true则进度条的最大和最小进度将会忽略
void setShort(int viewId, String methodName, short value)
Call a method taking one short on a view in the layout for this RemoteViews.
void setString(int viewId, String methodName, String value)
Call a method taking one String on a view in the layout for this RemoteViews.
void setTextColor(int viewId, int color)
等同于setTextColor(int).,设置文本的颜色
void setTextViewText(int viewId, CharSequence text)
等同于TextView.setText,设置文本内容
void setUri(int viewId, String methodName, Uri value)
Call a method taking one Uri on a view in the layout for this RemoteViews.
void setViewVisibility(int viewId, int visibility)
等同于调用View.setVisibility,设置该ID控件的可见性
void writeToParcel(Parcel dest, int flags)
Flatten this object in to a Parcel.

免责声明:文章转载自《(转)Android之RemoteViews》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇BZOJ #2506. calc [根号分治,莫队,二分]python setup.py 构建下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

关于微信JS-SDK 分享接口的两个报错记录

一、前提: 微信测试号,用微信开发者工具测试 二、简单复述文档: 1、引入JS文件 在需要调用JS接口的页面引入如下JS文件,(支持https):http://res.wx.qq.com/open/js/jweixin-1.4.0.js 如需进一步提升服务稳定性,当上述资源不可访问时,可改访问:http://res2.wx.qq.com/open/js/j...

Java 音频加水印

先解释一下什么是音频加水印: 音频加水印就是在一段音频中通过混音加入另一段音频,目的是让音频可以公开分享并有效保护原创。 本文主要纪录自己关于给音频加水印的技术调研。 开发语言:Java,开发所处系统环境Mac 使用了开源软件:FFmpeg 4.2.4 FFmpeg官网下载链接:https://ffmpeg.org/download.html#build-...

OHC Java堆外缓存详解与应用

1、背景   在当前微服务体系架构中,有很多服务例如,在 特征组装 与 排序等场景都需要有大量的数据支撑,快速读取这些数据对提升整个服务于的性能起着至关重要的作用。   缓存在各大系统中应用非常广泛。尤其是业务程序所依赖的数据可能在各种类型的数据库上(mysql、hive 等),那么如果想要获取到这些数据需要通过网络来访问。再加上往往数据量又很庞大,网络传...

百度大脑远场语音开发套件评测—快速上手,超赞语音交互体验

近年来,人工智能话题越来越热,受到了更多人的关注。百度从2010年开始人工智能技术开发,到现在已有8年多的时间,目前百度AI技术专利在中国甚至世界上都是名列前茅。 我大概在18年末开始接触到百度AI社区,通过使用文字识别、图像识别等百度AI技术,逐步感受到了AI技术的强大,同时也感觉到了百度AI技术的进步:AI技术领域范围越来越广泛,识别速度越来越快,识别...

poj2349最小生成树prim算法

题目:有s个satellite channels,但有p(p>s)个地方,若任意两个地方有satellite channels,则无视该距离,并且剩余的地方只能与其他地方通过无线电连接,需要距离,且需要的距离只与最大距离有关,问该最大距离的最小值(大概是这样啦)分析:实际上就是求最小生成树中的第p-s大的数,可以先通过prim算法生成最小生成树,然后...

Flutter——数组以符号隔开转字符串

///数组转字符串 String getTaskScreen(List list){ List tempList =List(); String str = ''; list.forEach((f){ tempList.add(f.title); }); tempList.forEach((f){...