項目地址:https://github.com/wmyasw/KotlinMvpDemo
1、在自我學習的過程中搭建的一個mvp 模式的demo
重新封裝了retrofit+okhttp +rxjava 使用泛型處理統一的json 解析 根據回調接口的泛型類型進行返回處理, EasyRetrofit 處理頭信息和response 的消息攔截進行統一的返回
EasyRetrofit.instance.post(UrlConstant.weather_cast_3_days, map, object : ResponseCallBack{
override fun onSuccess(response: WeatherBean) {
view?.setHomeData(response)
}
override fun onError(throwable: Throwable) {
view?.showError("加載失敗",22)
}
})
2、添加了換膚框架,參考 Android-Skin-Loader ,再次基礎上修改了加載方式,去除使用base類的方式,使用 ActivityLifecycleCallbacks生命回調接口進行注入攔截
使用方式大體上與Android-Skin-Loader大體一致 區別在於不需要在baseActivity裏去加載 ,同時也增加了一些其他屬性支持
首先將SkinManager 在application 裏初始化
class MyAppLication : BaseApplication() {
override fun onCreate() {
super.onCreate()
SkinManager.instance.init(this)
}
}
在xml 開啓 skin xmlns:skin="http://schemas.android.com/android/skin"
在需要佈局容器中添加 skin:enable="true" ,會自動掃描裏面的 background color textcolor 等屬性
加載皮膚
SkinManager.instance.loadSkin(sdpath+ File.separator+"theme_w-debug.apk")
重置默認皮膚
SkinManager.instance.reDefaultTheme()