【发布时间】:2014-05-21 16:28:13
【问题描述】:
我想向下缩放一个可绘制的矩形,然后旋转它,以便一旦它被视图裁剪,它就像一个左侧倾斜的梯形:
旋转工作正常:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item >
<rotate
android:fromDegrees="-19.5"
android:toDegrees="-19.5"
android:pivotX="0%"
android:pivotY="0%"
>
<shape
android:shape="rectangle" >
<solid
android:color="@android:color/black" />
</shape>
</rotate>
</item>
</layer-list>
但是,为了防止矩形旋转离开视图底部出现大间隙,我想在旋转发生之前垂直缩放 200%。我希望我能做这样的事情:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item >
<scale
android:scaleWidth="100%"
android:scaleHeight="200%"
android:scaleGravity="top"
>
<rotate
android:fromDegrees="-19.5"
android:toDegrees="-19.5"
android:pivotX="0%"
android:pivotY="0%"
>
<shape
android:shape="rectangle" >
<solid
android:color="@android:color/black" />
</shape>
</rotate>
</scale>
</item>
</layer-list>
但这只会导致矩形消失。有谁知道如何最好地实现这一目标?
【问题讨论】:
-
元素 "scale" 需要属性 "drawable" 来缩放。 (这就是为什么什么都没有显示的原因。)请参阅:idunnolol.com/android/drawables.html#scale
-
你解决了吗?我也有同样的问题stackoverflow.com/questions/29094070/…
-
我没有只使用 XML 解决,我使用了下面答案中的解决方案并创建了一个自定义可绘制对象。
标签: android imageview android-drawable xml-drawable shapedrawable