是否可以将膨胀视图转换为远程视图?
View to RemoteViews
我希望创建视图并添加到仅接受 RemoteView 的通知
不,你不能。它们实际上完全不同。
RemoteView
是您定义如何创建该 View
的位置。你不能直接给它,如果它丢失了,它现在应该如何创建它。
我在这里解释了非常相似的事情: https://stackoverflow.com/a/27701965/1016462
正如@tasomaniac所说,这是不可能的,直接的。但是,您可以将任何(支持的)视图包装在
RemoteViews
中,然后将该子视图 RemoteViews
添加到父视图中。例如。假设您想将 TextView
添加到 RemoteViews
:
RemoteViews parent = ...;
RemoteViews childText = RemoteViews(pkg, R.layout.my_text_view)
childText.setTextViewText("Hello, remote views.");
parent.addView(R.id.my_text_id, childText);
它无法包裹(受支持的)
View
对象。事情不是这样的。当您致电时:
RemoteViews childText = RemoteViews(pkg, R.layout.my_text_view)
它不会夸大布局。它只存储 ID。以及
RemoteViews
构造函数中指定的包。当它被接收并应用于远程进程时,RemoteViews
从RemoteViews
中的包中获取布局,并在那里对其进行膨胀。