package com.ximsfei.dynamicskindemo; import android.os.Build; import android.os.Bundle; import android.support.design.widget.TabLayout; import android.support.v4.app.DialogFragment; import android.support.v4.app.Fragment; import android.support.v4.view.ViewPager; import android.support.v7.widget.Toolbar; import android.text.TextUtils; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.Window; import android.view.WindowManager; import com.ximsfei.dynamicskindemo.tab.ArrayDialogFragment; import com.ximsfei.dynamicskindemo.tab.FirstFragment; import com.ximsfei.dynamicskindemo.tab.LastFragment; import com.ximsfei.dynamicskindemo.tab.MiddleFragment; import com.ximsfei.dynamicskindemo.tab.TabFragmentPagerAdapter; import java.util.ArrayList; import java.util.List; import skin.support.SkinCompatManager; import skin.support.app.SkinCompatActivity; import skin.support.utils.SkinPreference; /** * Created by ximsfei on 2017/1/9. */ public class MainActivity extends SkinCompatActivity { //public class MainActivity extends AppCompatActivity { private TabFragmentPagerAdapter mTabFragmentPagerAdapter; private DialogFragment dialogFragment; @Override public void onCreate(Bundle savedInstanceState) { getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initToolbar(); initConfigAnimatorDialog(); configFragments(); findViewById(R.id.fab).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (TextUtils.isEmpty(SkinPreference.getInstance().getSkinName())) { SkinCompatManager.getInstance().loadSkin("red.skin", null); } else { SkinCompatManager.getInstance().restoreDefaultTheme(); } } }); } private void initConfigAnimatorDialog() { dialogFragment = new ArrayDialogFragment(); } @Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); getMenuInflater().inflate(R.menu.main_menu, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { super.onOptionsItemSelected(item); if (item.getItemId() == R.id.animator_choose) { dialogFragment.show(getSupportFragmentManager(), ""); } return true; } private void configFragments() { List<Fragment> list = new ArrayList<>(); list.add(new FirstFragment()); list.add(new MiddleFragment()); list.add(new LastFragment()); TabLayout tabLayout = (TabLayout) findViewById(R.id.tab_layout); ViewPager viewPager = (ViewPager) findViewById(R.id.view_pager); viewPager.setAdapter(new TabFragmentPagerAdapter(getSupportFragmentManager(), list)); List<String> listTitle = new ArrayList<>(); listTitle.add("系统组件"); listTitle.add("自定义View"); listTitle.add("第三方库控件"); mTabFragmentPagerAdapter = new TabFragmentPagerAdapter(getSupportFragmentManager(), list, listTitle); viewPager.setAdapter(mTabFragmentPagerAdapter); tabLayout.setupWithViewPager(viewPager); } private void initToolbar() { Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); toolbar.setTitle("Title"); toolbar.setSubtitle("Subtitle"); toolbar.setNavigationIcon(R.drawable.actionbar_discover_normal); } public void setWindowStatusBarColor() { try { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { Window window = getWindow(); window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); window.setStatusBarColor(getResources().getColor(android.R.color.darker_gray)); //window.setNavigationBarColor(color); } } catch (Exception e) { e.printStackTrace(); } } public void clearWindowStatusBarColor() { try { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { Window window = getWindow(); window.clearFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); window.clearFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); } } catch (Exception e) { e.printStackTrace(); } } }