android - ActionBar 在 Android KitKat 上不可见

标签 android xml android-layout

我正在尝试使用 Android 设计库来实现工具栏。输出在 Lollipop 和 Marshmallow 设备上按预期工作,但在 Kitkat 设备上不显示工具栏。

我在堆栈溢出(here_1here_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/

相关文章:

java - map 在 OpenStreetMap (osm) 中不可见

android - 不显示动态行

java - 如何在 xml 中绘制图像,但在 java 类中更改尺寸?

java - 使用环境变量在项目外加载 log4j2.xml 文件

android - 如何在背景中滚动更宽的图像

android - 单击根布局时如何显示嵌套布局?

android - Gradle同步失败:索引2处的字符非法

android - 如何安装 kivy 及其依赖项以在 linux ubuntu 12.04 上制作 Android 应用程序

jquery - JQGrid 格式化日期返回错误的日期

java - 有没有办法从android touch事件获取有关父UI元素的信息?