我在Drawer Layout中使用Coordinator Layout。我想顯示一個自動隱藏工具欄,並在其中使用電影海報,當電影細節滾動時它會崩潰。我的應用程序也使用抽屜佈局。這是我的佈局XML activity_coordinator_layout
以下類無法實例化android.support.design.widget.CoordinatorLayout
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/parent_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:orientation="vertical"
tools:context="com.inov8.falconpayconsumer.activities.MovieInfo">
<RelativeLayout
android:id="@+id/headerLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/red">
<include
android:id="@+id/header_layout2"
layout="@layout/header" />
</RelativeLayout>
<include
android:id="@+id/sub_header"
layout="@layout/subheader"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/headerLayout"
android:visibility="visible" />
</LinearLayout>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context="com.inov8.falconpayconsumer.activities.bookme.MovieDetailsActivity">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="250dp"
android:fitsSystemWindows="true"
android:theme="@style/AppTheme">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
app:contentScrim="?attr/colorPrimary"
app:expandedTitleMarginEnd="64dp"
app:expandedTitleMarginStart="48dp"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fitsSystemWindows="true"
android:minHeight="100dp"
android:scaleType="matrix"
android:src="@drawable/gods_of_egypt"
app:layout_collapseMode="parallax" />
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_collapseMode="pin">
</android.support.v7.widget.Toolbar>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.widget.NestedScrollView
android:id="@+id/scroll"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="@style/TextAppearance.AppCompat.Headline" />
<TextView
android:id="@+id/description"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="15dp"
android:text="@string/lorem_ipsum"
android:textAppearance="@style/TextAppearance.AppCompat.Body1" />
</LinearLayout>
</FrameLayout>
</android.support.v4.widget.NestedScrollView>
</android.support.design.widget.CoordinatorLayout>
<include
android:id="@+id/header_layout"
layout="@layout/drawer_layout_list" />
</android.support.v4.widget.DrawerLayout>
如果是在應用程序的默認主題的問題,他們是<style name="My_App_Theme" parent="Theme.AppCompat.NoActionBar" />
清單中,我使用android:theme="@style/AppTheme"
,並在這裏繪製此時,將顯示完整的錯誤佈局
Rendering Problems The following classes could not be instantiated: - android.support.design.widget.CoordinatorLayout (Open Class, Show Exception, Clear Cache)
Tip: Use View.isInEditMode() in your custom views to skip code or show sample data when shown in the IDE Exception Details
java.lang.IllegalArgumentException: You need to use a Theme.AppCompat theme (or descendant) with the design library. at
android.support.design.widget.ThemeUtils.checkAppCompatTheme(ThemeUtils.java:34) at android.support.design.widget.CoordinatorLayout.<init>(CoordinatorLayout.java:182) at
android.support.design.widget.CoordinatorLayout.<init>(CoordinatorLayout.java:176) at
java.lang.reflect.Constructor.newInstance(Constructor.java:423) at
android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) at
android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:835) at
android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:70)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:811) at
android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) at
android.view.LayoutInflater.inflate(LayoutInflater.java:515) at
android.view.LayoutInflater.inflate(LayoutInflater.java:394)
'您需要在設計庫中使用Theme.AppCompat主題(或後代)。「 - 您是否在使用'Theme.AppCompat'作爲AppTheme的父項? –
我使用這個 –
除非'AppTheme'的父母也是'Theme.AppCompat'主題,您需要移除'android:theme =如果它在那裏,則清單中的「@ style/AppTheme」和清單中的''。 –