1

是否可以使用 Honeycomb 之前的 API 旋转 XML 中的视图 - 也许使用支持包?或者是创建自定义类的唯一方法,如此处所述Vertical (rotated) label in Android

编辑:我需要的是一个静态旋转的视图(特别是一个TextView,但我想知道如何使用视图就足够了)。从蜂窝开始,有一个可以在 XML 中使用的旋转属性。我需要这样的东西。

到目前为止,我唯一发现的是使用持续时间为 0 的动画,但这仍然在开始时移动了一点,我不希望这样。我尝试将视图设置为不可见并将侦听器附加到动画,这使得它们在动画完成回调时可见,但这产生了奇怪的结果......由于某种原因改变了视图的位置。

4

2 回答 2

2

最好的方法是使用您链接到的自定义子类实现,您可以在其中旋转画布并适当地调整视图大小。这可确保视图边界也设置为与绘制的文本相匹配。

在 HC 之前从外部转换视图的唯一方法是动画框架,并将Animation持续时间为 0 并fillAfter设置为 true的视图应用到将起作用,但您可能会注意到在某些设备上闪烁,因为视图通常会在其上正常呈现第一帧,然后从该点开始动画到其最终位置。您可以通过隐藏视图并稍晚显示它来解决此问题......但您可以看到黑客如何开始堆积起来。

此外,在AnimationHC 之前进行操作不会改变视图边界本身,因此您将无法在此视图周围整齐地打包其他视图,因为从布局角度来看,它的位置仍然是为水平计算的矩形(非旋转)文本。

简单的子类绝对是首选方法。

高温高压

于 2012-06-18T21:36:49.653 回答
1

是否可以使用 Honeycomb 之前的 API 来旋转 XML 中的视图

RotateAnimation。但是,根据您要完成的任务,这可能无法满足您的需求。

于 2012-06-14T10:58:15.923 回答