我正在尝试使用 Android 设计库来实现工具栏。输出在 Lollipop 和 Marshmallow 设备上按预期工作,但在 Kitkat 设备上不显示工具栏。
我在堆栈溢出(here_1、here_2)上看到过类似的帖子,并尝试实现列出的更改。但是,我无法在 Kit Kat 设备上使用它。
我在我的 build.gradle 文件中包含了以下内容:
compile 'com.android.support:appcompat-v7:23.0.1'
compile 'com.android.support:design:23.0.1'
compile 'com.android.support:cardview-v7:23.0.1'
这是我的 main_Activity.xml 文件:
<android.support.v4.widget.DrawerLayout 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:id="@+id/drawer_layout"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:fitsSystemWindows="true"
android:theme="@style/Theme.MyMovie"
tools:context=".MainActivity">
<include layout="@layout/include_grid_viewpager"/>
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_height="match_parent"
android:layout_width="wrap_content"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_header"
app:menu="@menu/drawer_view"/>
</android.support.v4.widget.DrawerLayout>
这是我的 include_grid_viewpager.xml 文件:
<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:id="@+id/main_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".Chalisa">
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay"
>
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar1"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:layout_scrollFlags="scroll|enterAlways"
app:popupTheme="@style/AppTheme.PopupOverlay"
/>
</android.support.design.widget.AppBarLayout>
<GridView
android:id="@+id/gridview1"
android:columnWidth="80dp"
android:paddingTop="?attr/actionBarSize"
android:gravity="center_horizontal"
android:background="@drawable/stroke"
android:numColumns="3"
android:stretchMode="spacingWidthUniform"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</GridView>
</android.support.design.widget.CoordinatorLayout>
这是我的 style.xml 文件
<resources>
<style name="Theme.Mytheme" parent="Base.Theme.DesignDemo">
</style>
<style name="Base.Theme.DesignDemo" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">#FF0000</item>
<item name="colorPrimaryDark">#FC1501</item>
<item name="colorAccent">#FF0000</item>
<item name="android:windowBackground">@color/window_background</item>
<item name="android:textSize">16sp</item>
</style>
<style name="Widget.CardContent" parent="android:Widget">
<item name="android:paddingLeft">16dp</item>
<item name="android:paddingRight">16dp</item>
<item name="android:paddingTop">24dp</item>
<item name="android:paddingBottom">24dp</item>
<item name="android:orientation">vertical</item>
</style>
</resources>
这是我的 list 文件:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="aps.com.nap" >
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/Theme.Mytheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".DetailData"
android:parentActivityName=".MainActivity"
android:screenOrientation="portrait"/>
<activity android:name=".myDetail"
android:parentActivityName=".MainActivity"
android:screenOrientation="portrait"/>
</application>
</manifest>
我花了 4 个多小时浏览互联网和堆栈溢出响应。我相信我在我的 XML 中犯了一些小错误。
请大家提供任何有助于我尽早解决此问题的信息。
谢谢大家的帮助。
最佳答案
我必须如下更改我的 include_grid_viewpager.xml 才能使其正常工作。 将网格移动到 AppBar 布局中,使其位于操作栏下方。 GridView 覆盖了操作栏。
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/main_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
>
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar1"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:layout_scrollFlags="scroll|enterAlways"
/>
<GridView
android:id="@+id/gridview1"
android:columnWidth="110dp"
android:gravity="center_horizontal"
android:background="@drawable/stroke"
android:numColumns="3"
android:stretchMode="spacingWidthUniform"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</GridView>
</android.support.design.widget.AppBarLayout>
</android.support.design.widget.CoordinatorLayout>
感谢大家的支持。
关于android - ActionBar 在 Android KitKat 上不可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33073436/