2016-08-26 9 views
0
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行があります。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.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:バイナリ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デバイスでのみクラッシュする可能性のある点については、

答えて

0

最後のグラデーション(tools:ignore="NewApi"行を持つもの)の色を変更してみてください。これらの2つの色は、SDK < 21に定義されていません。 これで解決できない場合は、スタックトレースの詳細を投稿してください。

+0

私は別の問題を抱えている、と私は両方がおそらく関連している推測しています。 http://stackoverflow.com/questions/39173996/android-resolving-style-properties-and-attributesこのProgressWidgetをライブラリモジュールのカスタムウィジェットとして考えてみましょう。また、メインプロジェクトモジュールからテーマを解決しようとしています。ランタイム。とにかく、私は "attr/colorAccent"を試みましたが、役に立たないです。 – AndroidRocks

関連する問題