package com.netease.nim.uikit.session.module.input; import android.support.v4.view.ViewPager; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import com.netease.nim.uikit.R; import com.netease.nim.uikit.session.actions.BaseAction; import java.util.List; /** * 更多操作模块 * Created by hzxuwen on 2015/6/17. */ public class ActionsPanel { // 初始化更多布局adapter public static void init(View view, List<BaseAction> actions) { final ViewPager viewPager = (ViewPager) view.findViewById(R.id.viewPager); final ViewGroup indicator = (ViewGroup) view.findViewById(R.id.actions_page_indicator); ActionsPagerAdapter adapter = new ActionsPagerAdapter(viewPager, actions); viewPager.setAdapter(adapter); initPageListener(indicator, adapter.getCount(), viewPager); } // 初始化更多布局PageListener private static void initPageListener(final ViewGroup indicator, final int count, final ViewPager viewPager) { viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageSelected(int position) { setIndicator(indicator, count, position); } @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageScrollStateChanged(int state) { } }); setIndicator(indicator, count, 0); } /** * 设置页码 */ private static void setIndicator(ViewGroup indicator, int total, int current) { if (total <= 1) { indicator.removeAllViews(); } else { indicator.removeAllViews(); for (int i = 0; i < total; i++) { ImageView imgCur = new ImageView(indicator.getContext()); imgCur.setId(i); // 判断当前页码来更新 if (i == current) { imgCur.setBackgroundResource(R.drawable.nim_moon_page_selected); } else { imgCur.setBackgroundResource(R.drawable.nim_moon_page_unselected); } indicator.addView(imgCur); } } } }