添加皮肤模块 - 2

This commit is contained in:
wangcongtao
2020-08-28 15:16:03 +08:00
parent 8794ad282a
commit 6abe68b77d
36 changed files with 29 additions and 3116 deletions

View File

@@ -1,5 +1,5 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.mogo.skin.support">
package="com.mogo.skin.support.impl">
/
</manifest>

View File

@@ -1,9 +1,13 @@
package com.mogo.skin.support.impl;
import android.app.Activity;
import android.app.Application;
import android.content.Context;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.app.AppCompatCallback;
import androidx.appcompat.app.AppCompatDelegate;
import androidx.appcompat.app.SkinAppCompatDelegateImpl;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.mogo.skin.support.IMogoSkinSupportInstaller;
@@ -56,8 +60,8 @@ class SkinSupportInstaller implements IMogoSkinSupportInstaller {
}
@Override
public AppCompatDelegate getSkinAppCompatDelegate( AppCompatDelegate delegate ) {
return null;
public AppCompatDelegate getSkinAppCompatDelegate( AppCompatActivity activity, AppCompatCallback callback ) {
return SkinAppCompatDelegateImpl.get( activity, callback );
}
@Override

View File

@@ -1,5 +1,5 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.mogo.skin.support">
package="com.mogo.skin.support.noop">
/
</manifest>

View File

@@ -3,6 +3,10 @@ package com.mogo.skin.support.noop;
import android.app.Application;
import android.content.Context;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.app.AppCompatCallback;
import androidx.appcompat.app.AppCompatDelegate;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.mogo.skin.support.IMogoSkinSupportInstaller;
import com.mogo.skin.support.SkinMode;
@@ -31,6 +35,11 @@ class SkinSupportInstaller implements IMogoSkinSupportInstaller {
Logger.d( TAG, "noop - loadSkin" );
}
@Override
public AppCompatDelegate getSkinAppCompatDelegate( AppCompatActivity activity, AppCompatCallback callback ) {
return activity.getDelegate();
}
@Override
public void init( Context context ) {

View File

@@ -38,15 +38,6 @@ dependencies {
implementation rootProject.ext.dependencies.androidxappcompat
implementation rootProject.ext.dependencies.arouter
annotationProcessor rootProject.ext.dependencies.aroutercompiler
// 换肤功能
implementation 'skin.support:skin-support:4.0.5' // skin-support
implementation 'skin.support:skin-support-appcompat:4.0.5' // skin-support 基础控件支持
implementation 'skin.support:skin-support-design:4.0.5' // skin-support-design material design 控件支持[可选]
implementation 'skin.support:skin-support-cardview:4.0.5' // skin-support-cardview CardView 控件支持[可选]
implementation 'skin.support:skin-support-constraint-layout:4.0.5' // skin-support-constraint-layout ConstraintLayout 控件支持[可选]
}
apply from: new File(rootProject.rootDir, "gradle/upload.gradle").toString()

View File

@@ -2,6 +2,8 @@ package com.mogo.skin.support;
import android.app.Application;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.app.AppCompatCallback;
import androidx.appcompat.app.AppCompatDelegate;
import com.alibaba.android.arouter.facade.template.IProvider;
@@ -19,5 +21,5 @@ interface IMogoSkinSupportInstaller extends IProvider {
void loadSkin( SkinMode skinMode );
AppCompatDelegate getSkinAppCompatDelegate( AppCompatDelegate delegate );
AppCompatDelegate getSkinAppCompatDelegate( AppCompatActivity activity, AppCompatCallback callback );
}