gpt4 book ai didi

Android 应用程序小部件大小问题

转载 作者:太空狗 更新时间:2023-10-29 13:31:18 26 4
gpt4 key购买 nike

我在获取正在设计的主屏幕小部件的尺寸时遇到了一些问题。我已经阅读了 sdk 文档并进行了一些搜索,但我并没有真正找到任何有用的东西。无论如何,我正在使用小部件提供程序的 onAppWidgetOptionsChanged 方法来获取 API 16 以上设备上的小部件大小,并且它在某些设备上报告不正确。它在 Nexus S 和 Transformer Prime 上运行正常,但它在我的 S3 上给出的值小于我从屏幕截图中测量的值。我已经解释了以 dp 而不是像素报告的事实。我猜三星的启动器添加了某种类型的边距,但我找不到任何相关性。例如,当我使用 2x2 小部件时,onAppWidgetOptionsChanged 报告 154dp (~293px) 宽度和 193dp (~355px) 高度,但我在 Photoshop 中测量了 ~340px x 420px。这是三星独有的问题,还是我要在许多非 Vanilla 平台上面对这个问题。代码非常基本,但我发布了任何代码以防万一。

@Override
public void onAppWidgetOptionsChanged(Context context, AppWidgetManager appWidgetManager, int appWidgetId, Bundle newOptions) {
int minWidth = newOptions.getInt(AppWidgetManager.OPTION_APPWIDGET_MIN_WIDTH);
int maxWidth = newOptions.getInt(AppWidgetManager.OPTION_APPWIDGET_MAX_WIDTH);
int minHeight = newOptions.getInt(AppWidgetManager.OPTION_APPWIDGET_MIN_HEIGHT);
int maxHeight = newOptions.getInt(AppWidgetManager.OPTION_APPWIDGET_MAX_HEIGHT);

Log.i("WidgetProvider","Widget size changed");
Log.i("WidgetProvider","minWidth: " + minWidth);
Log.i("WidgetProvider","minHeight: " + minHeight);
Log.i("WidgetProvider","maxWidth: " + maxWidth);
Log.i("WidgetProvider","maxHeight: " + maxHeight);
}

我正在使用报告的大小在我的小部件更新服务中生成位图。我需要使用自定义位图,因为我想为我的小部件使用自定义字体和背景。在 API 16 以下的设备上,我只是将位图设置为小部件信息 xml 中定义的 minWidth 和 minHeight。在某些设备上,这会在小部件周围留下比我希望的更多的填充,但图像没有失真。据我了解,没有办法在早期设备中获取小部件大小。另外,我不相信自定义字体可以在应用程序小部件的 TextView 中使用。这样对吗?我试过对图像使用 fitXY,但它在某些设备上看起来很糟糕。有没有更可预测的方法来在小部件上完成自定义背景和自定义字体?任何建议将不胜感激。谢谢!

最佳答案

看来我也遇到了同样的问题。 Galaxy Note 的 Widget 4*4。 onApp 小部件选项已更改,返回 426*384 最大尺寸,但如果您在屏幕上看到高度大于宽度...

关于Android 应用程序小部件大小问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15141220/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com