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();
}
}
}