package com.ximsfei.dynamicskindemo.tab;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.DialogFragment;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import com.ximsfei.dynamicskindemo.R;
import java.util.ArrayList;
import skin.support.SkinCompatManager;
import skin.support.animator.ActivityAnimatorType;
import skin.support.animator.activityAnimator.SkinActivityAnimator;
import skin.support.utils.SkinPreference;
/**
* Created by erfli on 2/26/17.
*/
public class ArrayDialogFragment extends DialogFragment{
private ListView animatorChooseListView;
private ArrayList<String> itemList = new ArrayList<>();
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
itemList.clear();
for(ActivityAnimatorType activityAnimatorType : ActivityAnimatorType.values()){
itemList.add(activityAnimatorType.name());
}
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.animator_choose_fragment, null);
animatorChooseListView = (ListView) view.findViewById(R.id.animator_choose_listview);
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<>(view.getContext(), R.layout.animator_choose_item);
arrayAdapter.addAll(itemList);
animatorChooseListView.setAdapter(arrayAdapter);
animatorChooseListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
SkinActivityAnimator.configActivityAnimatorType(ActivityAnimatorType.values()[position]);
if (TextUtils.isEmpty(SkinPreference.getInstance().getSkinName())) {
SkinCompatManager.getInstance().loadSkin("red.skin", null);
} else {
SkinCompatManager.getInstance().restoreDefaultTheme();
}
ArrayDialogFragment.this.dismiss();
}
});
return view;
}
}