在android

时间:2017-02-24 13:27:19

标签: android android-appcompat

我正在使用android studio 2.2.3。我所有的布局xmls都抱怨“缺少样式”。以下是我打开设计视图时出现的错误。

渲染问题缺少样式。是否为此布局选择了正确的主题?使用布局上方的主题组合框选择不同的布局,或修复主题样式引用。无法在当前主题中找到样式'progressBarStyle'(1568类似错误未显示)无法在当前主题中找到'?attr / textAppearanceSmall'。 (未显示65个类似错误)

我还注意到styles.xml无法找到“Theme.AppCompat.Light.NoActionBar”。我检查了项目结构,我能够在依赖项列表中看到com.android.support.appcompat-v7:25.2.0。我执行了无效缓存并重新启动,清理/构建。但我无法摆脱缺少的样式问题。我也尝试将我的“AppTheme”重命名为“AppBaseTheme”并在我的android清单文件中引用它。即使这没有帮助。我试过在设计视图中刷新但仍然无法摆脱缺少的样式错误。 对于另一个xml布局,我收到以下错误

  

渲染问题缺少样式。是否为此布局选择了正确的主题? >使用布局上方的主题组合框选择不同的布局,或修复主题样式引用。无法实例化以下类:    - android.support.design.widget.TabLayout(Open Class,Show Exception,Clear Cache)    提示:在IDE中显示时,在自定义视图中使用View.isInEditMode()可以跳过代码或显示示例数据。如果这是意外错误,您还可以尝试构建项目,然后手动刷新布局。异常详细信息java.lang.IllegalArgumentException:您需要将Theme.AppCompat主题(或后代)与设计库一起使用。在Android.support.design.wab.TabLayout的android.support.design.TabLayout的android.support.design.widget.ThemeUtils.checkAppCompatTheme(ThemeUtils.java:36)中。(TabLayout.java:297)。(TabLayout)的.java:291)在java.lang.reflect.Constructor.newInstance(Constructor.java:423)在android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727)在android.view.LayoutInflater.rInflate_Original(LayoutInflater.java: 858)在android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:70)在android.view.LayoutInflater.rInflate(LayoutInflater.java:834)在android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)在机器人。 view.LayoutInflater.inflate(LayoutInflater.java:518)在android.view.LayoutInflater.inflate(LayoutInflater.java:397)

有人可以指出我正确的方向吗?感谢。

以下是我的清单。     

<uses-permission android:name="android.permission.INTERNET"/>

<application
    android:allowBackup="true"
    android:name=".ExampleApplication"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">

    <activity
        android:name=".activity.SplashActivity"
        android:screenOrientation="portrait"
        android:theme="@style/SplashTheme">
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
    </activity>
    <activity
        android:name=".activity.MainActivity"
        android:screenOrientation="portrait"
        android:windowSoftInputMode="adjustResize"/>
</application>

以下是我的build.gradle

apply plugin: 'com.android.application'
android {
compileSdkVersion 25
buildToolsVersion "25.0.1"
defaultConfig {
    applicationId "com.example.package"
    minSdkVersion 18
    targetSdkVersion 25
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    jackOptions {
        enabled true
    }

    dexOptions {
        preDexLibraries true
        javaMaxHeapSize "4g"
    }

    lintOptions {
        abortOnError false
    }
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

testOptions {
    unitTests.returnDefaultValues = true
}

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile group: 'com.google.code.gson', name: 'gson', version: '2.8.0'
compile 'com.android.support:recyclerview-v7:25.2.0'
compile 'com.android.support:cardview-v7:25.2.0'
compile 'com.android.support:design:25.2.0'
compile 'com.android.support:appcompat-v7:25.2.0'
compile group: 'joda-time', name: 'joda-time', version: '2.9.6'
compile group: 'com.google.guava', name: 'guava', version: '20.0'
compile 'com.squareup.retrofit2:retrofit:2.1.0'
compile 'com.squareup.retrofit2:converter-gson:2.0.2'
compile 'com.github.zagum:Android-SwitchIcon:1.3.2'
compile 'com.futuremind.recyclerfastscroll:fastscroll:0.2.5'
compile 'com.prolificinteractive:material-calendarview:1.4.2'

compile 'com.jakewharton:butterknife:8.5.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1'

compile 'com.google.dagger:dagger:2.7'
annotationProcessor 'com.google.dagger:dagger-compiler:2.7'


testCompile 'junit:junit:4.12'
testCompile "org.robolectric:robolectric:3.0"
testCompile "org.robolectric:shadows-support-v4:3.0"
testCompile 'org.mockito:mockito-core:1.10.19'

androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.android.support', module: 'support-annotations'
})
androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.2'
compile 'com.android.support.constraint:constraint-layout:1.0.0'
}

以下是我的styles.xml。

<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
    <item name="android:textViewStyle">@style/RobotoTextViewStyle</item>
    <item name="android:editTextStyle">@style/RobotoEditTextStyle</item>
</style>

<style name="SplashTheme" parent="Theme.AppCompat.NoActionBar">
    <item name="android:windowBackground">@drawable/splash</item>
</style>

<style name="RobotoTextViewStyle" parent="android:Widget.TextView">
    <item name="android:fontFamily">sans-serif</item>
    <item name="android:textSize">@dimen/body</item>
    <item name="android:textColor">@color/colorBlack</item>
</style>

<style name="RobotoEditTextStyle" parent="android:Widget.EditText">
    <item name="android:fontFamily">sans-serif</item>
    <item name="android:textSize">@dimen/body</item>
    <item name="android:padding">@dimen/edittext_padding</item>
</style>

<style name="DrawerArrowStyle" parent="Widget.AppCompat.DrawerArrowToggle">
    <item name="spinBars">true</item>
    <item name="color">@android:color/white</item>
</style>

<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar"/>

<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light"/>

<style name="TextInputLayoutStyle" parent="TextAppearance.AppCompat.Small">
    <item name="android:textColor">@color/color_android_green</item>
    <item name="android:textStyle">bold|italic</item>
</style>

<style name="TextInputLayoutStyleError" parent="TextAppearance.AppCompat.Small">
    <item name="android:textColor">@color/colorRed</item>
    <item name="android:textStyle">bold|italic</item>
</style>

<style name="CustomTextStyle" parent="@android:style/TextAppearance.Widget.TabWidget">
    <item name="android:textSize">20sp</item>
</style>

<style name="CustomSwitch" parent="Theme.AppCompat.Light">
    <!-- active thumb & track color (30% transparency) -->
    <item name="colorControlActivated">@color/colorAccent</item>

    <!-- inactive thumb color -->
    <item name="colorSwitchThumbNormal">@color/colorGrayDarker</item>

    <!-- inactive track color (30% transparency) -->
    <item name="android:colorForeground">@color/colorGray</item>
</style>

<style name="CustomTabLayout" parent="Base.Widget.Design.TabLayout">
    <item name="tabIndicatorColor">@color/colorGold</item>
    <item name="tabSelectedTextColor">@color/colorGold</item>
</style>

<style name="StyledScrollerTextAppearance">
    <item name="android:textColor">@color/colorWhite</item>
</style>

Tablayout xml片段

    <android.support.design.widget.TabLayout
    android:id="@+id/callScheduleType"
    style="@style/CustomTabLayout"
    android:layout_width="0dp"
    android:layout_height="40dp"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/guidelineNavHeight">

    <android.support.design.widget.TabItem
        android:id="@+id/personal"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:text="personal"/>

    <android.support.design.widget.TabItem
        android:id="@+id/community"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:text="community"/>
</android.support.design.widget.TabLayout>

1 个答案:

答案 0 :(得分:2)

我能够通过从类路径中恢复android gradle插件版本来解决这个问题&#39; com.android.tools.build:gradle:2.3.0-beta4&#39; to classpath&#39; com.android.tools.build:gradle:2.2.3&#39;在项目顶级构建文件中。

相关问题