我目前正在使用可绘制对象来获得环形图像视图。
问题是:我在一行中有两个这样的图像视图,它们的权重=1,所以它们都具有相同的宽度。形状环drawable的xml标签属性“innerRadiusRatio”依赖于drawable的宽度。因此,如果 imageview 的宽度变得大于高度,则将裁剪环形。有什么办法可以让 innerRadiusRatio 依赖于高度而不是宽度?甚至将其 scaleType 设置为“fitCenter”或类似的东西?
这是我的布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="64dip"
android:layout_width="match_parent">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/ring_shape_drawable"
android:src="@drawable/test_button_drawable"/>
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/ring_shape_drawable"
android:src="@drawable/test_button_drawable"/>
</LinearLayout>
这是形状drawable的xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:innerRadiusRatio="2.8"
android:thicknessRatio="30"
android:useLevel="false"
android:shape="ring" >
<solid android:color="@color/custom_red" />
</shape>
这是结果(我不想要裁剪的 ringShapeDrawable):
这将是期望的结果:
谢谢你的帮助 :)