基本信息
源码名称:Android高仿BiliBili动画 源码下载
源码大小:18.29M
文件格式:.zip
开发语言:Java
更新时间:2017-05-01
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
package com.hotbitmapgg.ohmybilibili;
import android.app.Application;
import android.content.Context;
import android.support.annotation.ColorInt;
import android.support.annotation.ColorRes;
import com.bilibili.magicasakura.utils.ThemeUtils;
import com.facebook.stetho.Stetho;
import com.hotbitmapgg.ohmybilibili.utils.ThemeHelper;
/**
* Created by hcc on 16/8/7 21:18
* 100332338@qq.com
* <p/>
* 高仿哔哩哔哩动画App
*/
public class OhMyBiliBiliApp extends Application implements ThemeUtils.switchColor
{
public static OhMyBiliBiliApp mInstance;
@Override
public void onCreate()
{
super.onCreate();
mInstance = this;
init();
// 初始化主题切换
ThemeUtils.setSwitchColor(this);
}
private void init()
{
//初始化Stetho调试工具
Stetho.initialize(
Stetho.newInitializerBuilder(this)
.enableDumpapp(Stetho.defaultDumperPluginsProvider(this))
.enableWebKitInspector(Stetho.defaultInspectorModulesProvider(this))
.build());
}
public static OhMyBiliBiliApp getInstance()
{
return mInstance;
}
@Override
public int replaceColorById(Context context, @ColorRes int colorId)
{
if (ThemeHelper.isDefaultTheme(context))
{
return context.getResources().getColor(colorId);
}
String theme = getTheme(context);
if (theme != null)
{
colorId = getThemeColorId(context, colorId, theme);
}
return context.getResources().getColor(colorId);
}
@Override
public int replaceColor(Context context, @ColorInt int color)
{
if (ThemeHelper.isDefaultTheme(context))
{
return color;
}
String theme = getTheme(context);
int colorId = -1;
if (theme != null)
{
colorId = getThemeColor(context, color, theme);
}
return colorId != -1 ? getResources().getColor(colorId) : color;
}
private String getTheme(Context context)
{
if (ThemeHelper.getTheme(context) == ThemeHelper.CARD_STORM)
{
return "blue";
} else if (ThemeHelper.getTheme(context) == ThemeHelper.CARD_HOPE)
{
return "purple";
} else if (ThemeHelper.getTheme(context) == ThemeHelper.CARD_WOOD)
{
return "green";
} else if (ThemeHelper.getTheme(context) == ThemeHelper.CARD_LIGHT)
{
return "green_light";
} else if (ThemeHelper.getTheme(context) == ThemeHelper.CARD_THUNDER)
{
return "yellow";
} else if (ThemeHelper.getTheme(context) == ThemeHelper.CARD_SAND)
{
return "orange";
} else if (ThemeHelper.getTheme(context) == ThemeHelper.CARD_FIREY)
{
return "red";
}
return null;
}
private
@ColorRes
int getThemeColorId(Context context, int colorId, String theme)
{
switch (colorId)
{
case R.color.theme_color_primary:
return context.getResources().getIdentifier(theme, "color", getPackageName());
case R.color.theme_color_primary_dark:
return context.getResources().getIdentifier(theme "_dark", "color", getPackageName());
case R.color.theme_color_primary_trans:
return context.getResources().getIdentifier(theme "_trans", "color", getPackageName());
}
return colorId;
}
private
@ColorRes
int getThemeColor(Context context, int color, String theme)
{
switch (color)
{
case 0xfffb7299:
return context.getResources().getIdentifier(theme, "color", getPackageName());
case 0xffb85671:
return context.getResources().getIdentifier(theme "_dark", "color", getPackageName());
case 0x99f0486c:
return context.getResources().getIdentifier(theme "_trans", "color", getPackageName());
}
return -1;
}
}