0

材料設計を使用するためのセットアップに私のアプリを試す:android:との項目が削除される場合複製アイテム:

<style name="AppTheme" parent="android:Theme.Material.Light.DarkActionBar"> 
     <!-- Customize your theme here. --> 
     <item name="colorPrimary">@color/colorPrimary</item> 
     <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
     <item name="colorAccent">@color/colorAccent</item> 

     <item name="android:colorPrimary">@color/colorPrimary</item> 
     <item name="android:colorPrimaryDark">@color/colorPrimaryDark</item> 
     <item name="android:colorAccent">@color/colorAccent</item> 
  • - 色が適用され取得されていません。
  • android:なしの項目が削除されている場合 - アプリのクラッシュ:

Unable to start activity ComponentInfo{com.foo.bar/com.foo.bar.MainActivity}: android.view.InflateException: Binary XML file line #9: Error inflating class android.support.design.widget.TabLayout

質問:

  • は、なぜ私はそれらを複製しなければならないのですか?
  • そのようなスタイルをすべて複製する必要がありますか?

EDIT:

マニフェストファイルは、次のとおりです。

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.foo.bar"> 

    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:supportsRtl="true" 
     android:theme="@style/AppTheme"> 
     <activity 
      android:name=".MainActivity" 
      android:screenOrientation="portrait"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN"/> 

       <category android:name="android.intent.category.LAUNCHER"/> 
      </intent-filter> 

EDIT2

activity_main.xml:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/activity_main" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical"> 

    <android.support.design.widget.TabLayout 
     android:id="@+id/tl_periods" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     app:tabMinWidth="100dp" 
     app:tabMode="scrollable"/> 
+0

マニフェストファイルを追加してください。あなたのアプリのテーマは何ですか? –

+0

あなたの 'TabLayout'のカスタム背景/テーマを設定していますか? –

+0

@RohitRamkumarは質問の説明を更新しました。 – Oleg

答えて

3

アプリケーションのテーマはAppCompatテーマの子孫ではありませんが、TabLayoutはサポートパッケージのテーマです。

あなたはAppCompatのテーマや表示に固執するか、完全に独立したパッケージをサポートする必要があります。そうしないと、そのような厄介な問題が発生します。

+0

私はAPI21 +に固執し、マテリアルデザインを使用し、できるだけサポートライブラリから離れたいと考えています。これを解決するための私の行動は何ですか? – Oleg

+0

'TabLayout'は他の方法でAPI21 +で定義されていますか? 'android.support.design.widget.TabLayout'の使用を削除する必要がありますか? – Oleg

+0

[サポートパッケージのみ](https://developer.android.com/reference/android/support/design/widget/TabLayout.html?q=tablayout)に同梱されているウィジェットを使用しようとしています。特にこの場合は、アプリのスタイルを変更する方がよいでしょう。 – azizbekian