【问题标题】:Android 2.x XML rotated drawable, moves in wrong directionAndroid 2.x XML 旋转可绘制,移动方向错误
【发布时间】:2012-08-21 13:01:15
【问题描述】:

我对已旋转 135 度的自定义 XML 可绘制对象有疑问。

drawable 在 SeekBar 布局组件中用作拇指。

这在 Android 4 上运行良好,但在 Android 2.x 上,拇指以 135 度角指向,而不是跟随 SeekBar 方向。这是我设置为拇指的drawable:

<item>
    <rotate android:drawable="@drawable/thumb_basic_shape"
        android:visible="true"
        android:fromDegrees="135"
        android:toDegrees="135" />
</item>

我怀疑这与 Android 2.x 处理分层可绘制对象中引用的方式有关,但有没有办法修复它,最好是在 XML 中?

Here 是一个图像,红色圆圈表示拇指应该在哪里,红色箭头表示拇指移动的方向,当我拖动滑块时。

[编辑]

下面给出的第一个答案表明我需要创建一个单独的持久旋转动画并将其应用于我的拇指可绘制对象。旋转视图或类似 GUI 元素时有很多示例,但在这种情况下,我想旋转作为 GUI SeekBar 元素的 part 的可绘制对象,这会带来一些额外的问题。

【问题讨论】:

    标签: android xml rotation drawable seekbar


    【解决方案1】:

    您可以使用持久旋转动画来做到这一点,并具有完整的 2.x 兼容性。

    希望对您有所帮助。

    【讨论】:

    • 在“android 持久旋转动画”上进行 Google 搜索没有任何结果,而且这不是我熟悉的概念,需要详细说明吗?
    • 在旧的 Android 设备上产生持久效果是一个常见的技巧。您创建一个持续时间为 0 且 android:repeatCount 属性为无限的动画。关于动画可以看这个链接:developer.android.com/guide/topics/resources/…
    • 看来这仅使用 XML 是不可能的——我需要创建一个动画“集”并在运行时通过 onCreate() 将其应用于可绘制对象。这个假设正确吗?
    • 我没有看到“简单”的部分,我不得不承认,因为 SeekBar 类显然没有实现 getThumb(),这是我需要旋转的。
    • 我已经尝试了很多小时,但解决方案似乎无法解决。主要症结似乎是我想旋转 XML 定义的可绘制对象,而不是视图或位图。为本案例提供的文档和示例充其量只是乏善可陈。我可以说服您发布一些示例代码吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-26
    • 1970-01-01
    • 2021-05-18
    • 1970-01-01
    • 2017-01-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多