gpt4 book ai didi

java - 如何在Android 4中使用NavigationView

转载 作者:行者123 更新时间:2023-12-01 19:35:13 26 4
gpt4 key购买 nike

在我的应用程序中,我使用了NavigationView,并且在Android 4上运行应用程序时显示强制关闭错误,但在android 5及更高版本中则没有显示任何错误并最终工作!

我的 XML 文件:

<?xml version="1.0" encoding="utf-8"?>
<androidx.drawerlayout.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/mainPage_drawerLayout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!--Root-->
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg_main_gradient"
tools:context=".ui.main.activity.MainPage">
<!--Toolbar-->
<com.github.florent37.shapeofview.shapes.ArcView
android:id="@+id/mainPage_toolbar"
android:layout_width="0dp"
android:layout_height="@dimen/_60mdp"
android:elevation="@dimen/_2mdp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:shape_arc_height="@dimen/_10mdp"
app:shape_arc_position="bottom">
<!--Content-->
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="@dimen/_60mdp"
android:background="@android:color/white"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent">
<!--Search-->
<com.app.app.utils.custom_view.FontAwesomeTextView
android:id="@+id/homePage_toolbarSearch"
style="@style/fontAwesome"
android:layout_width="@dimen/_25mdp"
android:layout_height="@dimen/_25mdp"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginLeft="@dimen/_10mdp"
android:text="@string/awesomeSearch"
android:textColor="@color/toolbarDarkGray"
android:textSize="@dimen/_18font_mdp" />
<!--Title-->
<TextView
android:id="@+id/homePage_toolbarTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="@string/home"
android:textColor="@color/toolbarDarkGray"
android:textSize="@dimen/_16font_mdp" />
<!--Menu-->
<com.app.app.utils.custom_view.FontAwesomeTextView
android:id="@+id/homePage_toolbarMenu"
style="@style/fontAwesome"
android:layout_width="@dimen/_25mdp"
android:layout_height="@dimen/_25mdp"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="@dimen/_10mdp"
android:text="@string/awesomeMenu"
android:textColor="@color/toolbarDarkGray"
android:textSize="@dimen/_18font_mdp" />

</RelativeLayout>

</com.github.florent37.shapeofview.shapes.ArcView>
<!--ViewPager-->
<com.aurelhubert.ahbottomnavigation.AHBottomNavigationViewPager
android:id="@+id/mainPage_viewPager"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintBottom_toTopOf="@id/mainPage_bottomNavigation"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:layout_marginTop="@dimen/_40mdp"/>
<!--BottomNavBar-->
<com.aurelhubert.ahbottomnavigation.AHBottomNavigation
android:id="@+id/mainPage_bottomNavigation"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:selectedBackgroundVisible="false" />

</androidx.constraintlayout.widget.ConstraintLayout>
<!--Navigation view-->
<com.google.android.material.navigation.NavigationView
android:id="@+id/mainPage_navigationView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="end"
android:background="@drawable/bg_menu_gradient"
android:layoutDirection="rtl"
app:headerLayout="@layout/header_nav_menu"
app:itemTextColor="@android:color/black"
app:menu="@menu/main_menu" />

</androidx.drawerlayout.widget.DrawerLayout>

ForeClose 错误消息:

 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.app.app/com.app.app.ui.main.activity.MainPage}: android.view.InflateException: Binary XML file line #93: Error inflating class com.google.android.material.navigation.NavigationView
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2193)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2243)
at android.app.ActivityThread.access$800(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5019)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.view.InflateException: Binary XML file line #93: Error inflating class com.google.android.material.navigation.NavigationView
at android.view.LayoutInflater.createView(LayoutInflater.java:620)
at io.github.inflationx.viewpump.ViewPumpLayoutInflater.createCustomViewInternal(ViewPumpLayoutInflater.java:204)
at io.github.inflationx.viewpump.ViewPumpLayoutInflater.access$000(ViewPumpLayoutInflater.java:14)
at io.github.inflationx.viewpump.ViewPumpLayoutInflater$PrivateWrapperFactory2ViewCreator.onCreateView(ViewPumpLayoutInflater.java:405)
at io.github.inflationx.viewpump.FallbackViewCreationInterceptor.intercept(FallbackViewCreationInterceptor.java:11)
at io.github.inflationx.viewpump.InterceptorChain.proceed(InterceptorChain.java:37)
at io.github.inflationx.calligraphy3.CalligraphyInterceptor.intercept(CalligraphyInterceptor.java:18)
at io.github.inflationx.viewpump.InterceptorChain.proceed(InterceptorChain.java:37)
at io.github.inflationx.viewpump.ViewPump.inflate(ViewPump.java:49)
at io.github.inflationx.viewpump.ViewPumpLayoutInflater$PrivateWrapperFactory2.onCreateView(ViewPumpLayoutInflater.java:385)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:689)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
at io.github.inflationx.viewpump.ViewPumpLayoutInflater.inflate(ViewPumpLayoutInflater.java:55)
at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:555)
at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:161)
at com.app.app.ui.main.activity.MainPage.onCreate(MainPage.java:94)
at android.app.Activity.performCreate(Activity.java:5231)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1104)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2157)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2243) 
at android.app.ActivityThread.access$800(ActivityThread.java:135) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:136) 
at android.app.ActivityThread.main(ActivityThread.java:5019) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:515) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 
at dalvik.system.NativeStart.main(Native Method) 
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.constructNative(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at android.view.LayoutInflater.createView(LayoutInflater.java:594)
at io.github.inflationx.viewpump.ViewPumpLayoutInflater.createCustomViewInternal(ViewPumpLayoutInflater.java:204) 
at io.github.inflationx.viewpump.ViewPumpLayoutInflater.access$000(ViewPumpLayoutInflater.java:14) 
at io.github.inflationx.viewpump.ViewPumpLayoutInflater$PrivateWrapperFactory2ViewCreator.onCreateView(ViewPumpLayoutInflater.java:405) 
at io.github.inflationx.viewpump.FallbackViewCreationInterceptor.intercept(FallbackViewCreationInterceptor.java:11) 
at io.github.inflationx.viewpump.InterceptorChain.proceed(InterceptorChain.java:37) 
at io.github.inflationx.calligraphy3.CalligraphyInterceptor.intercept(CalligraphyInterceptor.java:18) 
at io.github.inflationx.viewpump.InterceptorChain.proceed(InterceptorChain.java:37) 
at io.github.inflationx.viewpump.ViewPump.inflate(ViewPump.java:49) 
at io.github.inflationx.viewpump.ViewPumpLayoutInflater$PrivateWrapperFactory2.onCreateView(ViewPumpLayoutInflater.java:385) 
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:689) 
at android.view.LayoutInflater.rInflate(LayoutInflater.java:755) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:492) 
at io.github.inflationx.viewpump.ViewPumpLayoutInflater.inflate(ViewPumpLayoutInflater.java:55) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:397) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:353) 
at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:555) 
at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:161) 
at com.app.app.ui.main.activity.MainPage.onCreate(MainPage.java:94) 
at android.app.Activity.performCreate(Activity.java:5231) 
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1104) 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2157) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2243) 
at android.app.ActivityThread.access$800(ActivityThread.java:135) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:136) 
at android.app.ActivityThread.main(ActivityThread.java:5019) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:515) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 
at dalvik.system.NativeStart.main(Native Method) 
Caused by: android.view.InflateException: Binary XML file line #8: Error inflating class <unknown>
at android.view.LayoutInflater.createView(LayoutInflater.java:620)
at io.github.inflationx.viewpump.ViewPumpLayoutInflater$NameAndAttrsViewCreator.onCreateView(ViewPumpLayoutInflater.java:276)
at io.github.inflationx.viewpump.FallbackViewCreationInterceptor.intercept(FallbackViewCreationInterceptor.java:11)
at io.github.inflationx.viewpump.InterceptorChain.proceed(InterceptorChain.java:37)
at io.github.inflationx.calligraphy3.CalligraphyInterceptor.intercept(CalligraphyInterceptor.java:18)
at io.github.infl

同时将此vectorDrawables.useSupportLibrary = true添加到build.gradle文件上的defaultConfig

更新

header_nav_menu 代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layoutDirection="ltr"
android:layout_height="@dimen/_100mdp">
<!--Oval shape-->
<RelativeLayout
android:id="@+id/headerMainMenu_lay"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="@dimen/mines50mdp"
android:layout_marginBottom="@dimen/_10mdp"
android:background="@drawable/bg_menu_header_oval"
android:scaleX="1.5"
android:scaleY="1.5" />
<!--Close-->
<com.app.app.utils.custom_view.FontAwesomeTextView
android:id="@+id/headerMainMenu_close"
style="@style/fontAwesome"
android:layout_width="@dimen/_25mdp"
android:layout_height="@dimen/_25mdp"
android:layout_marginLeft="@dimen/_10mdp"
android:layout_marginTop="@dimen/_5mdp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="@string/awesomeClose"
android:textColor="@color/toolbarDarkGray"
android:textSize="@dimen/_20font_mdp" />
<!--Not login-->
<LinearLayout
android:id="@+id/headerMenu_notLoginLay"
android:layout_width="match_parent"
android:layout_toRightOf="@+id/headerMainMenu_close"
android:layout_height="match_parent"
android:gravity="right"
android:orientation="vertical">
<!--Title-->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/_6mdp"
android:layout_marginRight="@dimen/_10mdp"
android:text="@string/guestUser"
android:textColor="@android:color/black"
android:textSize="@dimen/_16font_mdp"
android:textStyle="bold" />
<!--Desc-->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/_2mdp"
android:layout_marginRight="@dimen/_10mdp"
android:text="@string/clickToLogin"
android:textColor="@android:color/black"
android:textSize="@dimen/_12font_mdp" />
<!--Login-->
<com.app.app.utils.custom_view.reounded_textview.RoundTextView
android:id="@+id/headerMenu_notLoginBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/_10mdp"
android:layout_marginRight="@dimen/_10mdp"
android:elevation="@dimen/_2mdp"
android:gravity="center"
android:paddingLeft="@dimen/_25mdp"
android:paddingTop="@dimen/_3mdp"
android:paddingRight="@dimen/_25mdp"
android:paddingBottom="@dimen/_5mdp"
android:text="@string/login"
android:textColor="@android:color/white"
android:textSize="@dimen/_12font_mdp"
app:allCorner="@dimen/_15mdp"
app:bgColor="@android:color/black" />

</LinearLayout>
<!--Login-->
<LinearLayout
android:id="@+id/headerMenu_loginLay"
android:layout_width="match_parent"
android:layout_toRightOf="@+id/headerMainMenu_close"
android:layout_height="match_parent"
android:gravity="right"
android:visibility="gone"
android:orientation="vertical">
<!--Title-->
<TextView
android:id="@+id/headerMenu_loginTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/_6mdp"
android:layout_marginRight="@dimen/_10mdp"
android:textColor="@android:color/black"
android:textSize="@dimen/_16font_mdp"
android:textStyle="bold" />
<!--Desc-->
<TextView
android:id="@+id/headerMenu_loginUserCredit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/_2mdp"
android:layout_marginRight="@dimen/_10mdp"
android:textColor="@android:color/black"
android:textSize="@dimen/_12font_mdp" />
<!--Login-->
<com.app.app.utils.custom_view.reounded_textview.RoundTextView
android:id="@+id/headerMenu_increaseCreditBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/_10mdp"
android:layout_marginRight="@dimen/_10mdp"
android:elevation="@dimen/_2mdp"
android:gravity="center"
android:paddingLeft="@dimen/_25mdp"
android:paddingTop="@dimen/_3mdp"
android:paddingRight="@dimen/_10mdp"
android:paddingBottom="@dimen/_3mdp"
android:text="@string/increaseCredit"
android:drawableRight="@drawable/ic_add_white"
android:drawableEnd="@drawable/ic_add_white"
android:drawablePadding="@dimen/_5mdp"
android:textColor="@android:color/white"
android:textSize="@dimen/_10font_mdp"
app:allCorner="@dimen/_15mdp"
app:bgColor="@android:color/black" />

</LinearLayout>

</RelativeLayout>

如何在 Android 4 上解决此问题?

最佳答案

从代码中删除此行

        android:drawableRight="@drawable/ic_add_white"
android:drawableEnd="@drawable/ic_add_white"

关于java - 如何在Android 4中使用NavigationView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59228482/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com