1.引入:
implementation 'com.zhy:changeskin:4.0.2'
2.Application中去调用SkinManager.getInstance().init(this);,未来版本可能会去除该步骤。
public class MyApplication extends Application
{
@Override
public void onCreate()
{
super.onCreate();
****SkinManager.getInstance().init(this);****
}
}
3.在需要换肤的Activity的onCreate和onDestory中,分别:
@Override
protected void onCreate(Bundle savedInstanceState)
{
SkinManager.getInstance().register(this);
//...
}
@Override
protected void onDestroy()
{
super.onDestroy();
SkinManager.getInstance().unregister(this);
}
4.布局文件,如我的:
<android.support.design.widget.TabLayout
android:id="@+id/mTabLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
****android:tag="skin:text_color:background"
android:background="@color/text_color_blue"****
app:tabTextColor="#ffffff"
app:tabSelectedTextColor="#ff3030">
5.监听换肤的代码:
button = (Button) rootView.findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (color.equals("blue")){
SkinManager.getInstance().changeSkin("red");
color = "red";
}else
if (color.equals("red")){
SkinManager.getInstance().changeSkin("green");
color = "green";
}else
if (color.equals("green")){
SkinManager.getInstance().changeSkin("point");
color = "point";
}else
if (color.equals("point")){
SkinManager.getInstance().changeSkin("blue");
color = "blue";
}
}
});
效果图如下咯