This is my main xml layout:
<?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/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="00dp"
android:fitsSystemWindows="true"
tools:openDrawer="start">
<include
layout="@layout/app_bar_main"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<FrameLayout
android:id="@+id/frame_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/navigation"
android:animateLayoutChanges="true">
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottomNavigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:background="?attr/myBackgroundColor"
app:menu="@menu/bottom_navigation_items"
app:itemTextAppearanceActive="@color/colorAccent"
app:itemTextColor="@color/bottom_nav_color"
app:itemIconTint="@color/bottom_nav_color"/>
</FrameLayout>
<com.google.android.material.navigation.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:layout_marginTop="0dp"
android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_header_main"
app:itemTextColor="?attr/myTextColor"
app:menu="@menu/activity_main_drawer" />
</androidx.drawerlayout.widget.DrawerLayout>
and my styles
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="brightTheme" parent="Theme.AppCompat.DayNight.NoActionBar">
<item name="colorPrimary">#2196F3</item>
<item name="colorPrimaryDark">#1976D2</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="myBackgroundColor">#FBFCFC</item>
<item name="myEtBackgroundColor">#2196F3</item>
<item name="myCardBackground">#FFFFFF</item>
<item name="myTextColor">#808080</item>
<item name="myTintColor">#000000</item>
<item name="myButtonColor">#2196F3</item>
<item name="myHintTextColor">#B3808080</item>
<item name="android:alertDialogTheme">@style/ThemeOverlay.AppCompat.Light</item>
<item name="android:windowBackground">@color/colorWindowBackgroundDay</item>
</style>
<style name="darkTheme" parent="Theme.AppCompat.DayNight.NoActionBar">
<item name="colorPrimary">#212121</item>
<item name="colorPrimaryDark">#000000</item>
<item name="android:textColorSecondary">#555</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="myBackgroundColor">#424242</item>
<item name="myEtBackgroundColor">#606060</item>
<item name="myCardBackground">#212121</item>
<item name="myTextColor">#FFFFFF</item>
<item name="myTintColor">#FFFFFF</item>
<item name="myButtonColor">#2196F3</item>
<item name="myHintTextColor">#B3FFFFFF</item>
<item name="android:alertDialogTheme">@style/ThemeOverlay.AppCompat.Dark</item>
<item name="android:windowBackground">@color/colorWindowBackgroundNight</item>
</style>
the problem is, I cannot use <item name="android:textColorSecondary">#555</item>
neither in bright or dark mode because I get this error:
2019-11-21 12:35:29.663 6291-6320/pl.jawegiel.simplenotepad.debug E/libc: Access denied finding property "vendor.debug.prerotation.disable"
2019-11-21 12:35:29.796 6291-6291/pl.jawegiel.simplenotepad.debug E/lenotepad.debu: Invalid ID 0x00000000.
2019-11-21 12:35:29.798 6291-6291/pl.jawegiel.simplenotepad.debug E/AndroidRuntime: FATAL EXCEPTION: main
Process: pl.jawegiel.simplenotepad.debug, PID: 6291
java.lang.RuntimeException: Unable to start activity ComponentInfo{pl.jawegiel.simplenotepad.debug/pl.jawegiel.simplenotepad.MainActivity}: android.view.InflateException: Binary XML file line #25: Binary XML file line #25: Error inflating class com.google.android.material.bottomnavigation.BottomNavigationView
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2956)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3091)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1821)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:280)
at android.app.ActivityThread.main(ActivityThread.java:6748)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Caused by: android.view.InflateException: Binary XML file line #25: Binary XML file line #25: Error inflating class com.google.android.material.bottomnavigation.BottomNavigationView
Caused by: android.view.InflateException: Binary XML file line #25: Error inflating class com.google.android.material.bottomnavigation.BottomNavigationView
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
at android.view.LayoutInflater.createView(LayoutInflater.java:647)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:790)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:863)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:866)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)
at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
at android.view.LayoutInflater.inflate(LayoutInflater.java:374)
at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:469)
at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
at pl.jawegiel.simplenotepad.MainActivity.onCreate(MainActivity.java:67)
at android.app.Activity.performCreate(Activity.java:7136)
at android.app.Activity.performCreate(Activity.java:7127)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1272)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2936)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3091)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1821)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:280)
at android.app.ActivityThread.main(ActivityThread.java:6748)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x0
at android.content.res.ResourcesImpl.getValue(ResourcesImpl.java:216)
2019-11-21 12:35:29.798 6291-6291/pl.jawegiel.simplenotepad.debug E/AndroidRuntime: at android.content.res.Resources.getColorStateList(Resources.java:1031)
at android.content.Context.getColorStateList(Context.java:651)
at androidx.appcompat.content.res.AppCompatResources.getColorStateList(AppCompatResources.java:67)
at com.google.android.material.bottomnavigation.BottomNavigationMenuView.createDefaultColorStateList(BottomNavigationMenuView.java:467)
at com.google.android.material.bottomnavigation.BottomNavigationMenuView.<init>(BottomNavigationMenuView.java:101)
at com.google.android.material.bottomnavigation.BottomNavigationMenuView.<init>(BottomNavigationMenuView.java:86)
at com.google.android.material.bottomnavigation.BottomNavigationView.<init>(BottomNavigationView.java:123)
at com.google.android.material.bottomnavigation.BottomNavigationView.<init>(BottomNavigationView.java:114)
... 30 more
.
What should I do? I'm trying to be able to change secondary text color but unfortunately it does not work. If I remove both BottomNavigationView and Navigation view from my layout everything works.
It turned out I need to pass resource from @colors instead of raw string.
User contributions licensed under CC BY-SA 3.0