Android M源码中使用android.support.design包的TabLayout
2016-12-13 21:02
423 查看
最近做6.0的移植工作,想要更好的保留Google推出的Material Design风格(其实是以前的风格太丑了。。),为此用到了android.support.design包(以下简称design包)的控件,发现各种问题,花了一下午时间梳理清了。
踩坑过程就不赘述了,直接列出需要改动的地方:
1、修改Android.mk,要点:
a、需要添加android-support-v7-appcompat,因为design是依赖v7包的;
b、将design包和v7包一起打包到工程中;
c、将design包和v7包的res路径添加到LOCAL_RESOURCE_DIR中;
如果Android.mk没有写对,就是各种编译不通过,xxx can’t find referenced class xxxx,让我一直在Proguard上浪费时间,其实是mk的问题-。-||
经过以上步骤,就可以正常的把apk编译出来了。但是在我运行时竟然crash了。
一番折腾,找到了一个还没理解为啥这么改的办法:
2、主题中需要对colorAccent属性重设?!
以上,就可以正常使用TabLayout了。
踩坑过程就不赘述了,直接列出需要改动的地方:
1、修改Android.mk,要点:
a、需要添加android-support-v7-appcompat,因为design是依赖v7包的;
b、将design包和v7包一起打包到工程中;
c、将design包和v7包的res路径添加到LOCAL_RESOURCE_DIR中;
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE_TAGS := optional LOCAL_SRC_FILES := $(call all-java-files-under, $(src)) LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res \ frameworks/support/v7/appcompat/res \ frameworks/support/design/res LOCAL_PACKAGE_NAME := SafeMode LOCAL_CERTIFICATE := platform LOCAL_PRIVILEGED_MODULE := true LOCAL_STATIC_JAVA_LIBRARIES := android-support-v4 android-support-v7-appcompat android-support-design LOCAL_AAPT_FLAGS := \ --auto-add-overlay \ --extra-packages android.support.design \ --extra-packages android.support.v7.appcompat include $(BUILD_PACKAGE)
如果Android.mk没有写对,就是各种编译不通过,xxx can’t find referenced class xxxx,让我一直在Proguard上浪费时间,其实是mk的问题-。-||
经过以上步骤,就可以正常的把apk编译出来了。但是在我运行时竟然crash了。
一番折腾,找到了一个还没理解为啥这么改的办法:
2、主题中需要对colorAccent属性重设?!
以上,就可以正常使用TabLayout了。
相关文章推荐
- Android Support Design 库 之 Snackbar使用及源码分析
- Android Design Support Library(4)- TabLayout的使用
- Android Support Design 库 之 Snackbar使用及源码分析
- Android应用Design Support Library完全使用实例
- Android Design Support Library使用示例(一)
- Android应用Design Support Library完全使用实例
- Android Design Support Library(5)- CoordinatorLayout的入门使用
- Android Design Support Library(1)- FloatingActionButton的使用
- Android Design Support Library使用详解
- android.support.design.widget.Snackbar 使用
- Android:使用android-support-design实现MD风格对话框
- Android应用Design Support Library完全使用实例
- Android SnackBar 使用的问题: Error inflating class android.support.design.widget.Snackbar$SnackbarLayout
- Android Material Design:滑动指示选项卡android.support.design.widget.TabLayout的简单使用
- Android Design Support Library 中控件的使用简单介绍
- 在Android2.3.3即minSdkVersion 10上使用android.support.v4.widget.SwipeRefreshLayout和android.support.design
- Android应用Design Support Library完全使用实例
- Android Design Support Library使用详解
- Android Design Support Library(2)- TextInputLayout的使用
- android.support.design.widget.TabLayout的使用