Android M源码中使用android.support.design包的TabLayout

最近做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中;

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了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值