Android Open Source - cube-sdk Block Menu Fragment From Project Back to project page cube-sdk .
License The source code is released under:
Apache License
If you think the Android project cube-sdk listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code package in.srain.cube.mints.base;
/ * w w w . j a v a 2 s . c o m * /
import android.graphics.Color;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.TextView;
import in.srain.cube.R;
import in.srain.cube.util.LocalDisplay;
import in.srain.cube.views.block.BlockListAdapter;
import in.srain.cube.views.block.BlockListView;
import in.srain.cube.views.block.BlockListView.OnItemClickListener;
import java.util.ArrayList;
public abstract class BlockMenuFragment extends TitleBaseFragment {
private BlockListView mBlockListView;
private ArrayList<ItemInfo> mItemInfos = new ArrayList<BlockMenuFragment.ItemInfo>();
private int mSize = 0;
private BlockListAdapter<ItemInfo> mBlockListAdapter = new BlockListAdapter<BlockMenuFragment.ItemInfo>() {
@Override
public View getView(LayoutInflater layoutInflater, int position) {
return getViewForBlock(layoutInflater, position);
}
};
protected int getLayoutId() {
return R.layout.cube_mints_base_fragment_block_menu;
}
protected View getViewForBlock(LayoutInflater layoutInflater, int position) {
ItemInfo itemInfo = mBlockListAdapter.getItem(position);
ViewGroup view = (ViewGroup) layoutInflater.inflate(R.layout.cube_mints_base_block_menu_item, null);
if (itemInfo != null) {
TextView textView = ((TextView) view.findViewById(R.id.cube_mints_base_block_menu_item_title));
textView.setText(itemInfo.mTitle);
view.setBackgroundColor(itemInfo.getColor());
}
return view;
}
protected abstract void addItemInfo(ArrayList<ItemInfo> itemInfos);
protected abstract void setupViews();
@Override
protected View createView(final LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(getLayoutId(), null);
mBlockListView = (BlockListView) view.findViewById(R.id.fragment_block_menu_block_list);
addItemInfo(mItemInfos);
setupList();
setupViews();
return view;
}
protected void setupList() {
mSize = (LocalDisplay.SCREEN_WIDTH_PIXELS - LocalDisplay.dp2px(25 + 5 + 5)) / 3;
int horizontalSpacing = LocalDisplay.dp2px(5);
int verticalSpacing = LocalDisplay.dp2px(10.5f);
mBlockListView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(View v, int position) {
ItemInfo itemInfo = mBlockListAdapter.getItem(position);
if (itemInfo != null) {
itemInfo.mOnClickListener.onClick(v);
}
}
});
mBlockListAdapter.setSpace(horizontalSpacing, verticalSpacing);
mBlockListAdapter.setBlockSize(mSize, mSize);
mBlockListAdapter.setColumnNum(3);
mBlockListView.setAdapter(mBlockListAdapter);
mBlockListAdapter.displayBlocks(mItemInfos);
}
protected ItemInfo newItemInfo(String title, int color, OnClickListener onClickListener) {
return new ItemInfo(title, getResources().getColor(color), onClickListener);
}
protected ItemInfo newItemInfo(String title, String color, OnClickListener onClickListener) {
return new ItemInfo(title, Color.parseColor(color), onClickListener);
}
protected ItemInfo newItemInfo(int title, String color, OnClickListener onClickListener) {
return new ItemInfo(getString(title), Color.parseColor(color), onClickListener);
}
protected ItemInfo newItemInfo(int title, int color, OnClickListener onClickListener) {
return new ItemInfo(getString(title), getResources().getColor(color), onClickListener);
}
@Override
protected boolean enableDefaultBack() {
return false;
}
protected static class ItemInfo {
private int mColor;
private String mTitle;
private OnClickListener mOnClickListener;
public ItemInfo(String title, int color, OnClickListener onClickListener) {
mTitle = title;
mColor = color;
mOnClickListener = onClickListener;
}
private int getColor() {
return mColor;
}
}
}
Java Source Code List in.srain.cube.Cube.java in.srain.cube.app.CubeFragmentActivity.java in.srain.cube.app.CubeFragment.java in.srain.cube.app.FragmentParam.java in.srain.cube.app.ICubeFragment.java in.srain.cube.app.XActivity.java in.srain.cube.app.lifecycle.IComponentContainer.java in.srain.cube.app.lifecycle.LifeCycleComponentManager.java in.srain.cube.app.lifecycle.LifeCycleComponent.java in.srain.cube.cache.CacheInfo.java in.srain.cube.cache.CacheManager.java in.srain.cube.cache.CacheResultType.java in.srain.cube.cache.ICacheAble.java in.srain.cube.cache.IFileCache.java in.srain.cube.cache.QueryHandler.java in.srain.cube.cache.Query.java in.srain.cube.concurrent.BlockingDeque.java in.srain.cube.concurrent.Deque.java in.srain.cube.concurrent.LinkedBlockingDeque.java in.srain.cube.concurrent.SimpleExecutor.java in.srain.cube.concurrent.SimpleTask.java in.srain.cube.file.DiskLruCache.java in.srain.cube.file.FileUtil.java in.srain.cube.file.LruFileCache.java in.srain.cube.image.CubeImageView.java in.srain.cube.image.ImageLoaderFactory.java in.srain.cube.image.ImageLoader.java in.srain.cube.image.ImagePerformanceStatistics.java in.srain.cube.image.ImageProvider.java in.srain.cube.image.ImageReuseInfoManger.java in.srain.cube.image.ImageReuseInfo.java in.srain.cube.image.ImageTaskStatistics.java in.srain.cube.image.ImageTask.java in.srain.cube.image.drawable.RecyclingBitmapDrawable.java in.srain.cube.image.drawable.RoundedDrawable.java in.srain.cube.image.iface.ImageFileProvider.java in.srain.cube.image.iface.ImageLoadHandler.java in.srain.cube.image.iface.ImageLoadProgressHandler.java in.srain.cube.image.iface.ImageMemoryCache.java in.srain.cube.image.iface.ImageResizer.java in.srain.cube.image.iface.ImageTaskExecutor.java in.srain.cube.image.impl.DefaultImageLoadHandler.java in.srain.cube.image.impl.DefaultImageResizer.java in.srain.cube.image.impl.DefaultImageTaskExecutor.java in.srain.cube.image.impl.DefaultMemoryCache.java in.srain.cube.image.impl.LruImageFileProvider.java in.srain.cube.image.impl.SimpleDownloader.java in.srain.cube.mints.base.BlockMenuFragment.java in.srain.cube.mints.base.DemoBaseActivity.java in.srain.cube.mints.base.TitleBaseActivity.java in.srain.cube.mints.base.TitleBaseFragment.java in.srain.cube.mints.base.TitleHeaderBar.java in.srain.cube.request.CacheAbleRequestDefaultHandler.java in.srain.cube.request.CacheAbleRequestHandler.java in.srain.cube.request.CacheAbleRequestJsonHandler.java in.srain.cube.request.CacheAbleRequest.java in.srain.cube.request.FailData.java in.srain.cube.request.ICacheAbleRequest.java in.srain.cube.request.IRequest.java in.srain.cube.request.JsonData.java in.srain.cube.request.RequestBase.java in.srain.cube.request.RequestCacheManager.java in.srain.cube.request.RequestData.java in.srain.cube.request.RequestDefaultHandler.java in.srain.cube.request.RequestFinishHandler.java in.srain.cube.request.RequestHandler.java in.srain.cube.request.RequestJsonHandler.java in.srain.cube.request.SimpleJsonRequest.java in.srain.cube.request.SimpleRequestManager.java in.srain.cube.request.SimpleRequest.java in.srain.cube.uri.CustomizedUri.java in.srain.cube.util.Debug.java in.srain.cube.util.Encrypt.java in.srain.cube.util.Env.java in.srain.cube.util.LocalDisplay.java in.srain.cube.util.NetworkStatusManager.java in.srain.cube.util.ResourceMan.java in.srain.cube.util.SystemWatcher.java in.srain.cube.util.Version.java in.srain.cube.views.DotView.java in.srain.cube.views.IScrollHeaderFrameHandler.java in.srain.cube.views.MoreActionView.java in.srain.cube.views.ScrollHeaderFrame.java in.srain.cube.views.banner.BannerAdapter.java in.srain.cube.views.banner.PagerIndicator.java in.srain.cube.views.banner.SliderBanner.java in.srain.cube.views.block.BlockListAdapter.java in.srain.cube.views.block.BlockListView.java in.srain.cube.views.list.ListPageInfo.java in.srain.cube.views.list.ListViewDataAdapterBase.java in.srain.cube.views.list.ListViewDataAdapter.java in.srain.cube.views.list.PagedListDataModel.java in.srain.cube.views.list.PagedListViewDataAdapter.java in.srain.cube.views.list.ViewHolderBase.java in.srain.cube.views.list.ViewHolderCreator.java in.srain.cube.views.mix.AutoPlayer.java in.srain.cube.views.pager.PageIndicator.java in.srain.cube.views.pager.TabPageIndicator.java