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

질문 :

  • 이유는 그 중복해야합니까?
  • 그와 같은 모든 스타일을 복제해야합니까?

편집 :

매니페스트 파일은 다음과 같습니다

<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은 지원 패키지의 테마입니다.

테마 및보기를 사용하거나 완전히 독립적 인 패키지를 지원해야합니다. 그렇지 않으면 이러한 불쾌한 문제가 발생합니다.

+0

API21 +을 고수하고 Material Design을 사용하고 가능한 한 지원 라이브러리에서 벗어나고 싶습니다. 이 문제를 해결하기위한 내 행동은 무엇입니까? – 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