我有一个创建的应用程序菜单,可以正常使用10个月以上。我最近创建了一个发行版,并将其上传到Google,以发布给我的Alpha测试人员。在此之前,我尝试创建一个初始屏幕(Android Splash Screen doesn't display,该屏幕失败了,所以我注释了清单中的行,以便创建发行版并将其发布给仍在Google控制台上挂起的测试人员。然后,回到调试模式,一切都陷入困境,真是一团糟。我研究并纠正了除此错误之外的所有错误,我无法使导航视图正常工作。
这是包含导航视图的布局:
<?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
属性,该属性是对View的引用,该视图将在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正确膨胀。像这样的疯狂小事无时无刻不在发生。不知道主题线什么时候消失了,但是确实消失了。