Ego*_*gor 4 android background-image drawable nine-patch android-appwidget
类中没有setBackground()方法RemoteViews,所以我使用了以下解决方法:
FrameLayout为我的应用程序小部件创建了一个ImageView作为背景视图.ImageView使用setImageViewResource()方法更改了图像.不幸的是,当涉及9-patch drawables时,这种方法不起作用.当一个ImageView's android:src属性指向9-patch时 - 它也不起作用.有没有办法AppWidget用9-patch drawable以编程方式改变背景图像?提前致谢.
编辑 将9-patch设置为XML中的初始背景:
<ImageView
android:id="@+id/small_widget_layout_bg"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/background_lime" />
Run Code Online (Sandbox Code Playgroud)
当我使用android:src="@drawable/background_lime"它不能正确拉伸图像,这段代码工作正常.以及从AppWidgetProvider onUpdate方法更改背景的代码:
views.setImageViewResource(R.id.small_widget_layout_bg,
R.drawable.backgroung_lime);
Run Code Online (Sandbox Code Playgroud)
这不会将图像拉伸为9补丁.
这个答案在上述评论中被诊断出来......
RemoteView不允许访问View.setBackground(),因此使用a android:src属性的解决方法ImageView是好的,前提the android:scaleType是该属性设置为fitXY.
ImageView 除非你告诉它,否则不会拉伸它的前景图像.
| 归档时间: |
|
| 查看次数: |
3402 次 |
| 最近记录: |