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.horizontal_progressには35行があります。android.view.InflateException:バイナリXMLファイルの行番号39:Error inflating class ProgressWidget
<?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.horizontal_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:バイナリXMLファイルのライン#39:エラー膨らまクラスProgressWidget android.view.LayoutInflater.createViewFromTagでandroid.view.LayoutInflater.createView(LayoutInflater.java:620) で ( LayoutInflater.java:696)android.view.LayoutInflater.inflateでandroid.view.LayoutInflater.rInflate(LayoutInflater.java:758) でandroid.view.LayoutInflater.rInflate(LayoutInflater.java:755) で(LayoutInflater。 java:462) android.view.LayoutInflater.inflate(LayoutInflater.java:397) android.view.LayoutInflaterにあります。 android.view.View.inflateで(LayoutInflater.java:353) を膨らませる(View.java:1746
すべては右の電話デバイス上で動作します - サムスンギャラクシーS5 SM-G900A、Androidのバージョン5.0を。 Asus Nexus 7、Android 4.4.3上の上記のスタックトレースで常にクラッシュします。
このProgressWidgetは、Androidライブラリモジュールのカスタム再利用可能なコンポーネントで、プロジェクトモジュールで使用されます。主なプロジェクトモジュールは、MinSDKVersion 16をTargetSDKVersion 24まで一貫して扱うことが期待されています。
Tabletデバイスでのみクラッシュする可能性のある点については、
私は別の問題を抱えている、と私は両方がおそらく関連している推測しています。 http://stackoverflow.com/questions/39173996/android-resolving-style-properties-and-attributesこのProgressWidgetをライブラリモジュールのカスタムウィジェットとして考えてみましょう。また、メインプロジェクトモジュールからテーマを解決しようとしています。ランタイム。とにかく、私は "attr/colorAccent"を試みましたが、役に立たないです。 – AndroidRocks