`
zhanglibin1986
  • 浏览: 381682 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android之RemoteViews

阅读更多
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自定义通知适配android8.0okhttp断点下载

    在“Android-remoteviews自定义通知适配android8.0okhttp断点下载”这个项目中,我们将深入探讨如何利用RemoteViews来创建自定义的通知,以及如何结合OkHttp实现Android 8.0(API级别26)及以上的断点下载功能。...

    RemoteViews实例

    RemoteViews是Android系统中一个非常重要的组件,尤其在创建通知(Notifications)和Widget(小部件)时发挥着关键作用。RemoteViews允许你在应用程序的主进程之外安全地操作UI元素,这样可以避免因为处理UI更新而...

    Android 关于RemoteViews的理解(一)

    谷歌设计这个View的主要目的是为了跨进程更新界面,基于这个前提我们在Android设备上这用得到RemoteViews的应用场景主要有两个地方:通知栏和桌面小部件,我打算用三篇文章去了解RemoteViews,第一篇介绍RemoteViews...

    Android 实现横向滑动的GridView

    在Android开发中,GridView是一种常用的布局控件,它允许我们以网格的形式展示数据。通常,GridView默认是垂直滚动的,但有时我们可能需要实现横向滑动的GridView,以适应不同的界面设计需求。本篇文章将详细讲解...

    Android通过AIDL实现跨进程更新UI

    在Android系统中,由于应用程序默认运行在各自的进程中,不同进程之间的通信(IPC,Inter-Process Communication)成为了一项挑战,特别是在需要实时更新UI时。本文将深入探讨如何使用Android Interface Definition ...

    Android开发艺术探索.任玉刚(带详细书签).pdf

    本书是一本Android进阶类书籍,采用理论、源码和实践相结合的方式来阐述高水准的Android应用开发要点。本书从三个方面来组织内容。... 15.2 内存泄露分析之MAT工具 502 15.3 提高程序的可维护性 506

    Android的widget使用listview布局

    在Android开发中,Widget是应用在主屏幕上的小型UI组件,它们可以提供用户与应用程序的交互,无需打开应用本身。ListView是一种常用的布局管理器,它允许用户在一个滚动列表中显示大量数据。本教程将深入探讨如何在...

    android之appwidget(一)简单appwidget

    在Android平台上,AppWidget是系统桌面的一个组成部分,它允许开发者创建小型、静态或动态的应用程序组件,用户可以直接在主屏幕上与这些组件互动,无需打开完整的应用程序。本篇将深入探讨如何开发一个简单的App...

    android之appwidget(四)终 appwidget控件更新

    在Android平台上,AppWidget是能够将小部件添加到用户主屏幕上的迷你应用程序,它们提供了一种无需打开完整应用即可展示信息或执行简单操作的方式。本文将深入探讨Android AppWidget的第四部分,主要关注如何更新App...

    android widget简单使用方法

    Android小部件(Widget)是Android系统提供的一种桌面组件,它可以让用户在主屏幕上直接与应用程序进行交互,无需打开应用本身。本教程将详细介绍如何在Android项目中创建和使用一个简单的Widget。 1. **理解...

    android之notifications.doc

    `android之notifications.doc`这篇文档主要讨论了如何在Android中创建和自定义通知,包括使用LayoutInflater和findViewById(),PendingIntent以及RemoteViews。 首先,LayoutInflater是用来动态地从XML布局文件中...

    Android应用源码之android Widget小组件开发.zip

    本资料包"Android应用源码之android Widget小组件开发.zip"提供了一套完整的源代码示例,帮助开发者深入理解和实践Android Widget的创建过程。以下是对这个主题的详细讲解: 1. **Android Widget概述** Android ...

    android AppWidget ListView

    总结,`android AppWidget ListView`的使用涉及到AppWidget框架、RemoteViews、ListView与Adapter的结合以及事件处理等多个核心概念。通过源码学习,可以深入理解这些组件的协同工作方式,提升Android开发技能。

    android之appwidget(二)启动新activity

    在Android开发中,AppWidget是桌面小部件,它允许用户在主屏幕上与应用程序进行交互,而无需实际打开应用。在本篇博文中,我们将深入探讨如何在AppWidget中启动一个新的Activity,这通常是为了提供更丰富的用户体验...

    Android应用开发揭秘-源码+pdf(全清晰)

    第13章:此章可能讲解了Android的通知和消息推送,包括通知栏通知、远程视图(RemoteViews)以及Google Cloud Messaging(GCM)或Firebase Cloud Messaging(FCM)的使用。开发者将学会如何有效地与用户进行互动。 ...

    android锁屏界面显示,仿播放器。

    - 使用`RemoteViews`将这个布局应用到锁屏界面,`RemoteViews`允许你在系统的其他组件中展示自定义视图。 4. **权限申请**: - 需要申请`SYSTEM_ALERT_WINDOW`权限,允许在所有窗口之上显示内容,以便自定义锁屏...

    android桌面小组件最简实例

    在Android平台上,桌面小组件(AppWidget)是应用程序与用户交互的一种便捷方式,即使用户并未直接打开应用,也能在主屏幕上展示相关信息或提供快速操作。本教程将通过一个最简单的实例,详细介绍如何创建一个...

    android桌面时钟源代码

    它们提供了一种简单的方式,让用户无需打开应用就能与之交互。在这个项目中,`ClockWidget`类是核心,它继承自`AppWidgetProvider`,负责处理小部件的创建、更新和用户交互。 2. **AppWidgetProvider**: 这是所有...

Global site tag (gtag.js) - Google Analytics