【发布时间】:2012-08-27 12:46:59
【问题描述】:
我已经为 Android 编程了一段时间,但这真的让我很困惑。
所以我有一个带有 textview 的简单 appwidget。如果用户调整小部件的大小,我只是希望该文本视图内的文本字体大小按比例放大/缩小,以便在调整应用程序大小时使文本更大。我尝试了几种解决方案,但都失败了:
-
仅使用“sp”(缩放像素)单位作为字体大小 - 当小部件大小发生变化时,这不会缩放文本(我也没想到!)。
李> 用我自己的和覆盖的 onSizeChanged 方法扩展 TextView。但是您不能在小部件中包含基本 UI 类的后代(文档也说明了这一点)。
由于没有任何方法可以获取当前的 appWidget 大小,所以我只是卡在这里。
是的,我知道一种解决方案是创建不同版本的小部件,例如 1x4 和 2x4 等,但肯定还有另一种方法吗?
欢迎提出任何想法?
【问题讨论】:
-
作为对后来读者的附注,我可以说可以从 API 16+ 开始。您可以在小部件中覆盖一个回调方法: onAppWidgetOptionsChanged ,您可以从该方法获得最大宽度和高度(如下文所述)。但在 API 16 以下,调整大小并不容易。