package org.aisen.weibo.sina.ui.fragment.settings;
import java.util.ArrayList;
import org.aisen.weibo.sina.R;
import org.aisen.weibo.sina.support.utils.AppSettings;
import org.aisen.weibo.sina.support.utils.BaiduAnalyzeUtils;
import org.aisen.weibo.sina.ui.activity.common.FragmentContainerActivity;
import org.aisen.weibo.sina.ui.widget.WallpaperViewGroup;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import com.m.support.Inject.ViewInject;
import com.m.support.adapter.ABaseAdapter.AbstractItemView;
import com.m.ui.activity.BaseActivity;
import com.m.ui.fragment.AGridFragment;
/**
* 主题设置
*
* @author Jeff.Wang
*
* @date 2014年10月15日
*/
public class ThemeStyleSettingsFragment extends AGridFragment<String, String[]> implements OnItemClickListener {
public static void launch(Activity from) {
FragmentContainerActivity.launch(from, ThemeStyleSettingsFragment.class, null);
}
@Override
protected int inflateContentView() {
return R.layout.ui_wallpaper;
}
@Override
protected void layoutInit(LayoutInflater inflater, Bundle savedInstanceSate) {
super.layoutInit(inflater, savedInstanceSate);
getActivity().getActionBar().setDisplayHomeAsUpEnabled(true);
getActivity().getActionBar().setDisplayShowHomeEnabled(false);
getActivity().getActionBar().setTitle(R.string.title_actionbar);
getRefreshView().setOnItemClickListener(this);
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
AppSettings.setThemeColor(getAdapterItems().get(position));
BaseActivity activity = (BaseActivity) getActivity();
WallpaperViewGroup wallpaper = (WallpaperViewGroup) activity.getRootView();
wallpaper.setWallpaper();
}
@Override
protected AbstractItemView<String> newItemView() {
return new ActionbarSettingsItemView();
}
@Override
protected void requestData(RefreshMode mode) {
setItems(generateStyles());
}
private ArrayList<String> generateStyles() {
ArrayList<String> list = new ArrayList<String>();
String[] colors = getResources().getStringArray(R.array.actionbarBgColors);
for (String color : colors)
list.add(color);
return list;
}
class ActionbarSettingsItemView extends AbstractItemView<String> {
@ViewInject(id = R.id.viewColor)
View viewColor;
@Override
public int inflateViewId() {
return R.layout.item_theme;
}
@Override
public void bindingData(View convertView, String data) {
viewColor.setBackgroundColor(Color.parseColor(data));
}
}
@Override
public void onResume() {
super.onResume();
BaiduAnalyzeUtils.onPageStart("主题设置");
}
@Override
public void onPause() {
super.onPause();
BaiduAnalyzeUtils.onPageEnd("主题设置");
}
}