package com.jayqqaa12.reader.ui.view.pop; import java.util.ArrayList; import java.util.List; import org.androidannotations.annotations.EBean; import org.androidannotations.annotations.RootContext; import org.geometerplus.fbreader.fbreader.ActionCode; import org.geometerplus.fbreader.fbreader.ColorProfile; import org.geometerplus.fbreader.fbreader.FBReaderApp; import org.geometerplus.zlibrary.core.resources.ZLResource; import android.app.Activity; import android.content.Context; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.GridView; import com.jayqqaa12.abase.core.APopup; import com.jayqqaa12.abase.core.Abase; import com.jayqqaa12.abase.core.activity.AAdapter; import com.jayqqaa12.abase.kit.IntentKit; import com.jayqqaa12.abase.kit.ManageKit; import com.jayqqaa12.reader.App; import com.jayqqaa12.reader.R; import com.jayqqaa12.reader.model.MenuItem; import com.jayqqaa12.reader.ui.TocActivity; import com.jayqqaa12.reader.ui.adapter.itemview.MenuItemView; @EBean public class MenuPop extends APopup implements OnItemClickListener { @RootContext Context context; @Override protected View initView() { View view = ManageKit.getInflater().inflate(R.layout.pop_menu, null); GridView gv = (GridView) view.findViewById(R.id.gv); gv.setAdapter(new AAdapter<MenuItem>(MenuItemView.class, Abase.getContext(), addMenuItem())); this.setAnimationStyle(R.style.AnimBottom); gv.setOnItemClickListener(this); return view; } @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { final FBReaderApp fbreaderApp = (FBReaderApp) FBReaderApp.Instance(); switch (((MenuItem) parent.getAdapter().getItem(position)).ation) { case MenuItem.ATION_TOC: this.dismiss(); if (fbreaderApp.Model.TOCTree.hasChildren() && App.getNowReadBook().isEpub()) fbreaderApp.runAction(ActionCode.SHOW_TOC); else { IntentKit.startSubIntent(context, TocActivity.class); ((Activity)context).overridePendingTransition(R.anim.activity_bottom_in, R.anim.keep_y); } break; case MenuItem.ATION_SETTING: this.dismiss(); fbreaderApp.runAction(ActionCode.SHOW_PREFERENCES); break; case MenuItem.ATION_FONT_ADD: fbreaderApp.runAction(ActionCode.INCREASE_FONT); break; case MenuItem.ATION_FONT_DIM: fbreaderApp.runAction(ActionCode.DECREASE_FONT); break; case MenuItem.ATION_NIGHT: if (ColorProfile.DAY.equals(fbreaderApp.getColorProfileName())) fbreaderApp.runAction(ActionCode.SWITCH_TO_NIGHT_PROFILE); else fbreaderApp.runAction(ActionCode.SWITCH_TO_DAY_PROFILE); break; case MenuItem.ATION_PROGRESS: this.dismiss(); fbreaderApp.runAction(ActionCode.SHOW_NAVIGATION); break; } } private List<MenuItem> addMenuItem() { List<MenuItem> data = new ArrayList<MenuItem>(); data.add(new MenuItem(R.drawable.icon_item_directory, ZLResource.resource("menu").getResource(ActionCode.SHOW_TOC).getValue(), MenuItem.ATION_TOC)); data.add(new MenuItem(R.drawable.icon_item_bright, ZLResource.resource("menu").getResource(ActionCode.SWITCH_TO_NIGHT_PROFILE) .getValue(), MenuItem.ATION_NIGHT)); data.add(new MenuItem(R.drawable.icon_bookshelf_set_up, ZLResource.resource("menu").getResource(ActionCode.SHOW_PREFERENCES) .getValue(), MenuItem.ATION_SETTING)); data.add(new MenuItem(R.drawable.icon_btn_font_big, ZLResource.resource("menu").getResource(ActionCode.INCREASE_FONT).getValue(), MenuItem.ATION_FONT_ADD)); data.add(new MenuItem(R.drawable.icon_btn_font_small, ZLResource.resource("menu").getResource(ActionCode.DECREASE_FONT).getValue(), MenuItem.ATION_FONT_DIM)); data.add(new MenuItem(R.drawable.icon_item_progress, ZLResource.resource("menu").getResource(ActionCode.SHOW_NAVIGATION).getValue(), MenuItem.ATION_PROGRESS)); return data; } }