我创建了一个应用程序菜单,它已经运行了10个多月。我最近创建了一个版本,并将其上传到谷歌,以便发布给我的阿尔法测试人员。在此之前,我尝试创建一个启动屏幕(Android Splash Screen没有显示,这是一个糟糕的失败,所以我在清单中注释了行,以便创建发布并将其发送给我的测试人员,这仍然在谷歌控制台上等待。然后我回到调试模式,一切都在一个篮子里见鬼去了。真是一团糟。我研究并纠正了除了这一个之外的所有错误,我根本无法做出e导航视图工作。
这是包含导航视图的布局:
<?xml version="1.0" encoding="utf-8"?>
<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_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:openDrawer="start">
<ViewStub
android:id="@+id/layout_stub"
android:inflatedId="@+id/message_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="0.75" />
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_header_main"
app:menu="@menu/activity_main_drawer" />
</android.support.v4.widget.DrawerLayout>
这是nav_header_main:
<?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:layout_width="match_parent"
android:layout_height="@dimen/nav_header_height"
android:background="@drawable/side_nav_bar"
android:gravity="bottom"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:theme="@style/ThemeOverlay.AppCompat.Dark"
android:minWidth="25px"
android:minHeight="25px">
<TextView
android:text="Main Menu"
android:textAppearance="?android:attr/textAppearanceLarge"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/textView1"/>
</LinearLayout>
这是side_nav_bar:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:angle="135"
android:centerColor="#FFD700"
android:endColor="#FFD700"
android:startColor="#FFD700"
android:type="linear" />
<!--FFD700 gold 42586E original -->
</shape>
我已经删除了所有与启动屏幕尝试相关的代码。
我不知道为什么这个抽屉式菜单不能用了。我到处找答案,但一无所获。为什么它一直在起作用,却突然不起作用了?我错过了什么?
一个可能的解决方案可能是缺少android:layout
属性,该属性是对将在调用inflate((后膨胀的视图的引用。此外,您还可以检查appcompat
库和设计支持库的版本是否匹配。
好吧,我想通了。似乎是这样的:
android:theme="@style/AppTheme"
已从清单中删除:
<application android:allowBackup="true" android:label="Organize My League" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:icon="@mipmap/launchicons">
</application>
我把它添加回:
<application android:allowBackup="true" android:label="Organize My League" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:icon="@mipmap/launchicons" android:theme="@style/AppTheme">
</application>
现在NavigationView会正确膨胀。像这样疯狂的小事总是发生。不知道主题线在什么时候消失了,但它确实消失了。