【问题标题】:android.view.InflateException: Binary XML file line #39: Error inflating class ProgressWidgetandroid.view.InflateException: Binary XML file line #39: Error inflating class ProgressWidget
【发布时间】:2016-08-26 18:03:20
【问题描述】:
public final class ProgressWidget extends LinearLayout {

    <Default Constructors implemented> {
        setOrientation(LinearLayout.VERTICAL);
        inflate(context, R.layout.horizontal_progress, this);
    }

    @Override
    protected void onFinishInflate() {
        //Continue with rest of the logic.
    }
}

R.layout.horizo​​ntal_progress 有 35 行。

<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android">

<TextView
    android:id="@+id/progressTextView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/rounded_white_background"
    android:gravity="center"
    android:textColor="@color/light_black"
    android:textSize="12sp"
    android:fontFamily="roboto-regular"
    android:paddingTop="1dp"
    android:paddingBottom="1dp"
    android:paddingLeft="2dp"
    android:paddingRight="2dp" />

<SeekBar
    android:id="@+id/progress"
    android:layout_width="match_parent"
    android:layout_height="@dimen/horizontal_progress_height"
    android:indeterminate="false"
    android:progressDrawable="@drawable/horizontal_progress"
    android:gravity="center"
    android:thumb="@null"
    android:progress="0"
    android:secondaryProgress="0"
    android:max="100"
    android:minHeight="@dimen/horizontal_progress_height"
    android:paddingTop="1dp"
    android:paddingBottom="1dp"
    android:paddingLeft="2dp"
    android:paddingRight="2dp" />

</merge>

R.drawable.horizo​​ntal_progress 有 36 行。

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">
<item android:id="@android:id/background">
    <shape android:shape="rectangle" >
        <corners android:radius="@dimen/horizontal_progress_radius" />
        <gradient
            android:startColor="@color/horizontal_progress_background"
            android:endColor="@color/horizontal_progress_background"
            android:angle="270"/>
    </shape>
</item>
<item android:id="@android:id/secondaryProgress">
    <clip>
        <shape android:shape="rectangle" >
            <corners android:radius="@dimen/horizontal_progress_radius" />
            <gradient
                android:startColor="@android:color/white"
                android:endColor="@android:color/white"
                android:angle="270"/>
        </shape>
    </clip>
</item>
<item android:id="@android:id/progress">
    <clip>
        <shape android:shape="rectangle" >
            <corners android:radius="@dimen/horizontal_progress_radius" />
            <gradient
                android:startColor="?android:attr/colorAccent"
                android:endColor="?android:attr/colorAccent"
                android:angle="270"
                tools:ignore="NewApi"/>
        </shape>
    </clip>
</item>
</layer-list>

堆栈跟踪的最后一段。

原因:android.view.InflateException: Binary XML file line #39: Error inflating class ProgressWidget 在 android.view.LayoutInflater.createView(LayoutInflater.java:620) 在 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:696) 在 android.view.LayoutInflater.rInflate(LayoutInflater.java:755) 在 android.view.LayoutInflater.rInflate(LayoutInflater.java:758) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:462) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:397) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:353) 在 android.view.View.inflate(View.java:1746

在手机设备上一切正常 - 三星 Galaxy S5 SM-G900A,Android 版本 5.0。在 Asus Nexus 7、Android 4.4.3 上总是因上述堆栈跟踪而崩溃。

此 ProgressWidget 是 Android 库模块的自定义可重用组件,将与项目模块一起使用。主项目模块预计将满足 minSDKVersion 16 到 TargetSDKVersion 24 的要求。

任何关于可能导致仅在平板设备上崩溃的指针将不胜感激。

【问题讨论】:

    标签: android tablet seekbar inflate-exception


    【解决方案1】:

    尝试更改最后一个渐变中的颜色(具有tools:ignore="NewApi" 行的渐变)。 SDK

    【讨论】:

    • 我还有一个问题,我猜两者可能是相关的。 stackoverflow.com/questions/39173996/… 考虑将此 ProgressWidget 作为库模块中的自定义小部件,我正在尝试在运行时从主项目模块解析主题。无论如何,我已经尝试过 "?attr/colorAccent" 但无济于事。
    【解决方案2】:

    我设法根据另一个类似问题解决了这个问题。

    https://stackoverflow.com/a/39254876/941912

    【讨论】:

      猜你喜欢
      • 2013-06-25
      • 1970-01-01
      • 2016-11-03
      • 2020-06-27
      • 1970-01-01
      • 2015-08-21
      • 2012-02-09
      • 2012-03-04
      • 1970-01-01
      相关资源
      最近更新 更多