android.view.InflateException:二进制XML文件:在API 18中错误膨胀类Button

时间:2017-10-13 07:43:25

标签: android android-layout button

我的应用程序在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" />

1 个答案:

答案 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);

}