package com.umeng.example.xp; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.ViewGroup.LayoutParams; import android.widget.AbsListView; import android.widget.ImageView; import android.widget.ListView; import android.widget.RelativeLayout; import com.umeng.example.R; import com.umeng.ui.BaseSinglePaneActivity; import com.umeng.xp.common.ExchangeConstants; import com.umeng.xp.controller.ExchangeDataService; import com.umeng.xp.controller.XpListenersCenter.BindMode; import com.umeng.xp.controller.XpListenersCenter.InitializeListener; import com.umeng.xp.controller.XpListenersCenter.LargeGalleryBindListener; import com.umeng.xp.controller.XpListenersCenter.STATUS; import com.umeng.xp.view.ExchangeViewManager; import com.umeng.xp.view.LargeGalleryConfig; //test public class ContainerHeaderExample extends BaseSinglePaneActivity { @Override protected Fragment onCreatePane() { return new ContainerExampleFragment(); } public static class ContainerExampleFragment extends Fragment{ Context mContext; @Override public void onAttach(Activity activity) { super.onAttach(activity); mContext = activity; } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { ExchangeConstants.DEBUG_MODE = false; String containerSlot = ""; String gallerySlot = "40459"; View root = inflater.inflate( R.layout.umeng_example_xp_container_full, container, false); ExchangeConstants.CONTAINER_AUTOEXPANDED=true; ViewGroup fatherLayout = (ViewGroup) root.findViewById(R.id.rootId); final ListView listView = (ListView) root.findViewById(R.id.list); ExchangeDataService containerService = new ExchangeDataService(containerSlot); //add largeGallery header...... final RelativeLayout headerRoot = new RelativeLayout(mContext); float scale = mContext.getResources().getDisplayMetrics().density; int height = (int) (180 * scale + 0.5f); AbsListView.LayoutParams layoutParams = new AbsListView.LayoutParams(LayoutParams.FILL_PARENT, height); headerRoot.setLayoutParams(layoutParams); final ExchangeDataService service = new ExchangeDataService(gallerySlot); containerService.initializeListener = new InitializeListener() { @Override public void onStartRequestData(int type) { } @Override public void onReceived(int count) { ExchangeViewManager viewMgr = new ExchangeViewManager(mContext,service); //添加图片绑定回调。 viewMgr.setLargeGalleryConfig(new LargeGalleryConfig().setBindListener(new LargeGalleryBindListener() { @Override public void onEnd(STATUS status, ViewGroup view) { ImageView imv = (ImageView) view.findViewById(R.id.umeng_xp_large_gallery_item_imv); if(status == STATUS.FAIL) imv.setImageResource(R.drawable.umeng_xp_large_gallery_failed); view.findViewById(R.id.umeng_xp_large_gallery_item_progressbar).setVisibility(View.GONE); view.findViewById(R.id.umeng_xp_large_gallery_item_imv).setVisibility(View.VISIBLE); } @Override public void onStart(BindMode mode, ViewGroup view) { view.findViewById(R.id.umeng_xp_large_gallery_item_progressbar).setVisibility(View.VISIBLE); view.findViewById(R.id.umeng_xp_large_gallery_item_imv).setVisibility(View.GONE); } })); viewMgr.addView(headerRoot, ExchangeConstants.type_large_image); listView.addHeaderView(headerRoot); } }; ExchangeViewManager exchangeViewManager = new ExchangeViewManager(mContext,containerService); exchangeViewManager.addView(fatherLayout, listView); return root; } } }