我的应用程序在API 23中运行,但它在API 18中不起作用并引发异常。 知道为什么它会在API 18中引发异常吗?
以下是我的按钮代码:
<Button
android:id="@+id/home_fragment_when_read_more_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:background="@null"
android:drawableStart="@drawable/ic_next_arrow"
android:drawableTint="#666666"
android:text="더 보기"
android:textColor="#666666"
android:textSize="13sp" />
答案 0 :(得分:0)
删除android:drawableTint =&#34;#666666&#34;它不适用于API 18 ..它是为api level 23及以上版本添加的。
如果您仍然希望使用它,请使用以下代码以编程方式执行此操作。
private void setTintedCompoundDrawable(Button button , int drawableRes, int tintRes) {
button .setCompoundDrawablesWithIntrinsicBounds(
null, // Left
Utils.tintDrawable(ContextCompat.getDrawable(getContext(), drawableRes),
ContextCompat.getColor(getContext(), tintRes)), // Top
null, // Right
null); //Bottom
// if you need any space between the icon and text.
button.setCompoundDrawablePadding(12);
}