主要是参考了
https://github.com/dersoncheng/MultipleTheme 的方法,利用需要换肤的控件,改为自定义的控件,但是不知道为什么 NagavitionView 的 Item 的背景无法动态更换(重启后会变化)
反编译的 B 站的 APk(虽然只拿到 Res 文件夹),发现布局文件没有特别之处.
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.NavigationView android:layout_gravity="start" android:id="@id/nav_view" android:background="?view_background" android:fitsSystemWindows="true" android:layout_width="fill_parent" android:layout_height="fill_parent" app:menu="@menu/drawer_items" app:headerLayout="@layout/bili_app_layout_main_navigation_header"
style="@style/Widget.App.NavigationView" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android" />