将位图的大小调整为小部件的整个宽度
Resize a bitmap to the full width of the widget
我创建了一个显示图表的 Android 小部件。该小部件包含一个 ImageView,它可以拉伸到该小部件的完整大小(match_parent 宽度和高度)。我以编程方式创建位图并在其上绘制图形,然后将 ImageView 的位图设置为创建的位图。
一切正常,除了我无法获得可用小部件的确切尺寸 space,因此图表仅占用小部件的一部分(它不会延伸到可用小部件区域)。问题在于,当我创建位图时,我必须给它大小 - 我从 OPTION_APPWIDGET_MAX_WIDTH 和 OPTION_APPWIDGET_MAX_HEIGHT 小部件参数中获取小部件的大小。
在大多数设备上,小部件看起来是正确的,但在其他一些设备上却不是(我注意到启动器每行支持 5 个图标 - 看起来 OPTION_APPWIDGET_MAX_WIDTH 值是 4 icons/columns 而不是 5).
如果我可以从小部件上的 ImageView 的大小获得位图的大小,那是最好的,但是据我所知(和阅读)这对于 RemoteViews 是不可能的。
我看到另一个小部件似乎可以正确执行此操作,因此可能有更好的方法在运行时获取小部件的大小。
有人熟悉这个吗?我可以在运行时获取主屏幕小部件的实际宽度和高度吗?请注意,我也尝试从 onAppWidgetOptionsChanged 函数获取小部件大小,但结果是一样的。
提前致谢
答案不准确,但我可以提供指导:
请注意,屏幕尺寸为 pixel,但您的小部件基于 dp 或 sp.
主要是要考虑到它们变成的几种类型。
我创建了一个显示图表的 Android 小部件。该小部件包含一个 ImageView,它可以拉伸到该小部件的完整大小(match_parent 宽度和高度)。我以编程方式创建位图并在其上绘制图形,然后将 ImageView 的位图设置为创建的位图。
一切正常,除了我无法获得可用小部件的确切尺寸 space,因此图表仅占用小部件的一部分(它不会延伸到可用小部件区域)。问题在于,当我创建位图时,我必须给它大小 - 我从 OPTION_APPWIDGET_MAX_WIDTH 和 OPTION_APPWIDGET_MAX_HEIGHT 小部件参数中获取小部件的大小。
在大多数设备上,小部件看起来是正确的,但在其他一些设备上却不是(我注意到启动器每行支持 5 个图标 - 看起来 OPTION_APPWIDGET_MAX_WIDTH 值是 4 icons/columns 而不是 5).
如果我可以从小部件上的 ImageView 的大小获得位图的大小,那是最好的,但是据我所知(和阅读)这对于 RemoteViews 是不可能的。
我看到另一个小部件似乎可以正确执行此操作,因此可能有更好的方法在运行时获取小部件的大小。
有人熟悉这个吗?我可以在运行时获取主屏幕小部件的实际宽度和高度吗?请注意,我也尝试从 onAppWidgetOptionsChanged 函数获取小部件大小,但结果是一样的。
提前致谢
答案不准确,但我可以提供指导:
请注意,屏幕尺寸为 pixel,但您的小部件基于 dp 或 sp.
主要是要考虑到它们变成的几种类型。