我需要一个带有内部文字和图标的按钮系列。 4个按钮内的图标必须旋转以覆盖每个多边形。
按照两个按钮的示例,其中顶部用原始(矢量绘图)图标创建,“左”按钮旋转矢量。
<Button
style="@style/Buttons.Small"
android:drawableLeft="@drawable/ic_vertical_align_top_white_12dp"
android:text="@string/optional" />
<Button
style="@style/Buttons.Small"
android:drawableLeft="@drawable/arrow_left"
android:text="@string/optional" />
矢量drawable: 的 ic_vertical_align_top_white_12dp
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="12dp"
android:height="12dp"
android:viewportHeight="24.0"
android:viewportWidth="24.0">
<path
android:fillColor="#FFFFFF"
android:pathData="M8,11h3v10h2V11h3l-4,-4 -4,4zM4,3v2h16V3H4z" />
</vector>
旋转drawable: 的 arrow_left.xml
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="-90"
android:toDegrees="-90"
android:pivotX="50%"
android:pivotY="50%"
android:drawable="@drawable/ic_vertical_align_top_white_12dp">
</rotate>
风格
<style name="Buttons.Small">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:background">@color/buttonSmallBackground</item>
<item name="android:layout_margin">2dp</item>
<item name="android:minHeight">0dp</item>
<item name="android:minWidth">0dp</item>
<item name="android:textSize">12sp</item>
<item name="android:drawablePadding">4dp</item>
<item name="android:paddingLeft">4dp</item>
<item name="android:paddingRight">4dp</item>
</style>
并按照结果
Nougat (完美)
棉花糖(错误)
我已尝试使用向量viewport
但未成功。
由于
答案 0 :(得分:0)
我用诡计解决了。 直接在矢量中应用旋转。
现在 arrow_left.xml 变为
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="12dp"
android:height="12dp"
android:viewportHeight="24.0"
android:viewportWidth="24.0">
<group android:rotation="-90"
android:pivotX="12"
android:pivotY="12">
<path
android:fillColor="#FFFFFF"
android:pathData="M8,11h3v10h2V11h3l-4,-4 -4,4zM4,3v2h16V3H4z" />
</group>
</vector>
我不知道为什么在 Marshmallow 轮换无法正常工作但这解决了我的情况。
由于