首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >是否可以在xml描述中旋转可绘制图形?

是否可以在xml描述中旋转可绘制图形?
EN

Stack Overflow用户
提问于 2012-01-04 01:36:04
回答 3查看 94.9K关注 0票数 111

我正在创建一个应用程序,具有可重用的资源(因为按钮总是相同的,但镜像或旋转)。我确实想使用相同的资源,这样我就不必再添加3个与原始资源完全相同但经过旋转的资源。但我也不想将代码与可以在XML中声明的内容混合在一起,也不想用矩阵进行转换,因为这会耗费处理时间。

我在XML中声明了一个两个状态的按钮。

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true"
          android:drawable="@drawable/and_card_details_button_down_left_onclick" /> <!-- pressed -->
    <item android:drawable="@drawable/and_card_details_button_down_left" /> <!-- default -->
</selector>

我想重复使用可抽屉,因为它将是相同的,但旋转了90度和45度,并且我将按钮指定为可抽屉。

代码语言:javascript
复制
<Button android:id="@+id/Details_Buttons_Top_Left_Button"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="@drawable/details_menu_large_button" />

我知道我可以用RotateDrawableMatrix来旋转它,但正如我已经解释过的那样,我不喜欢这种方法。

有没有可能直接在XML上实现这一点,或者您认为这是最好的方法?把所有的资源都旋转起来,在代码中旋转吗?

- EDIT - @dmaxi的答案很好,下面是如何将其与项目列表相结合:)

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:state_pressed="true">
        <rotate 
        android:fromDegrees="90"
        android:toDegrees="90"
        android:pivotX="50%"
        android:pivotY="50%"
        android:drawable="@drawable/and_card_details_button_up_onclick"/>
    </item>

    <item>
        <rotate
        android:fromDegrees="90"
        android:toDegrees="90"
        android:pivotX="50%"
        android:pivotY="50%"
        android:drawable="@drawable/and_card_details_button_up_onclick"/>
    </item>

</selector>
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8716289

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档