RemoteViews(应用程序小部件)中 TextView 的 setRotation
setRotation of TextView in RemoteViews (app widget)
我有一个 xml 布局很简单的小部件:一个 ImageView
和一个 TextView
。
我可以使用 android:rotation
.
在 xml 中对 TextView
的旋转进行硬编码
但是我希望能够以编程方式设置 TextView
的旋转。似乎 View
有一个 setRotation()
方法,因此 TextView
将继承此方法,这样 "normal" TextView
可以通过编程方式使用此方法进行旋转.
但是当 TextView
被埋在 RemoteViews
中时,您必须间接调用这些方法,例如 setTextViewText()
和 setTextViewTextSize()
。
而且您似乎还可以调用通用 setFloat(int viewId, String methodName, float value)
来设置任何 methodName
的值,因此您也可以通过将 "setTextSize"
传递给 [=26] 来设置文本大小=].
好的问题....
因为 RemoteViews
中没有 setTextViewRotation()
方法,我想我需要使用 setFloat(viewId, "setRotation", value)
.
间接调用它
但是当我尝试这样做时,我的小部件只显示一个 "Problem Loading Widget" 消息框。
它适用于例如setFloat(viewId, "setTextSize", value)
更改文本大小,所以我在正确的轨道上,但它不适用于 setRotation
在我的代码中的相同位置。
我猜这是因为 setRotation
是一个继承方法(来自 View
),而不是 TextView
本身的方法,但它让我有点卡住了如何旋转我的 TextView
.
有什么想法吗?
谢谢!
你崩溃的原因是因为setRotation()
在the Android source code中没有@RemotableViewMethod
注释,因此无法使用setFloat()
设置。
我不知道有什么方法可以让您在应用程序小部件中动态更改 View
的旋转 属性。一种解决方法是通过布局文件的 N 个版本支持 N 次旋转,每个版本都有一个硬编码的 android:rotation
值。
我有一个 xml 布局很简单的小部件:一个 ImageView
和一个 TextView
。
我可以使用 android:rotation
.
TextView
的旋转进行硬编码
但是我希望能够以编程方式设置 TextView
的旋转。似乎 View
有一个 setRotation()
方法,因此 TextView
将继承此方法,这样 "normal" TextView
可以通过编程方式使用此方法进行旋转.
但是当 TextView
被埋在 RemoteViews
中时,您必须间接调用这些方法,例如 setTextViewText()
和 setTextViewTextSize()
。
而且您似乎还可以调用通用 setFloat(int viewId, String methodName, float value)
来设置任何 methodName
的值,因此您也可以通过将 "setTextSize"
传递给 [=26] 来设置文本大小=].
好的问题....
因为 RemoteViews
中没有 setTextViewRotation()
方法,我想我需要使用 setFloat(viewId, "setRotation", value)
.
但是当我尝试这样做时,我的小部件只显示一个 "Problem Loading Widget" 消息框。
它适用于例如setFloat(viewId, "setTextSize", value)
更改文本大小,所以我在正确的轨道上,但它不适用于 setRotation
在我的代码中的相同位置。
我猜这是因为 setRotation
是一个继承方法(来自 View
),而不是 TextView
本身的方法,但它让我有点卡住了如何旋转我的 TextView
.
有什么想法吗?
谢谢!
你崩溃的原因是因为setRotation()
在the Android source code中没有@RemotableViewMethod
注释,因此无法使用setFloat()
设置。
我不知道有什么方法可以让您在应用程序小部件中动态更改 View
的旋转 属性。一种解决方法是通过布局文件的 N 个版本支持 N 次旋转,每个版本都有一个硬编码的 android:rotation
值。