圆点导航的实现参照上一篇博文:https://blog.csdn.net/xialong_927/article/details/80332024

1、viewpager + FragmentActivity

布局文件common_activity_step4.xml

                            

RemoteStep5Activity.java

/** * Created by xl on 2018/4/24. */public class RemoteStep5Activity extends FragmentActivity {    private final static String TAG = RemoteStep5Activity.class.getSimpleName();    private Context mContext;    private CustomMenuBar mMenubar;    private ViewPager mViewPager;    private HorizontalDotNavigation mDotNavigation;    private List mListFragment;    private int miCurrPager = 0;    public final static int[] mContentIds = new int[]{            R.string.msg_install_remote_step4_tip1, R.string.msg_install_remote_step4_tip2,            R.string.msg_install_remote_step4_tip3, R.string.msg_install_remote_step4_tip4,            R.string.msg_install_remote_step4_tip5, R.string.msg_install_remote_step4_tip6,            R.string.msg_install_remote_step4_tip7    };    public final static int[] mBtnTextIds = new int[]{            R.string.t_install_done, R.string.t_install_done,            R.string.t_install_done, R.string.t_install_done,            R.string.t_install_done, R.string.t_install_done,            R.string.t_install_finish    };    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.common_activity_step4);        findView();        init();    }    /**     * 查找控件     */    private void findView() {        mMenubar = (CustomMenuBar) this.findViewById(R.id.menubar);        mViewPager = (ViewPager) this.findViewById(R.id.viewpager);        mDotNavigation = (HorizontalDotNavigation) this.findViewById(R.id.dot);    }    /**     * 初始化     */    private void init() {        // 初始化变量        mContext = this;        // 添加Activity到堆栈        AppManager.getAppManager().addActivity(this);        // 设置menubar        mMenubar.setText(R.string.textview_button_remote);        mMenubar.setButtonBackClick(new View.OnClickListener() {            @Override            public void onClick(View view) {                exit();            }        });        mMenubar.setButtonSeniorClick(new View.OnClickListener() {            @Override            public void onClick(View view) {                CommonPopupAction.show(mContext, mMenubar);            }        });        // 初始化list        initFragmentList();        // 初始化viewpager        mViewPager.setAdapter(new MyFragmentViewPager(getSupportFragmentManager()));        mViewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {            @Override            public void onPageSelected(int position) {                // 设置导航                setDotNavigation(position);                // 设置当前页                miCurrPager = position;                // 开始停止更新                switch (position) {                    case 0:                        break;                    case 1:                        break;                }            }            @Override            public void onPageScrolled(int arg0, float arg1, int arg2) {            }            @Override            public void onPageScrollStateChanged(int arg0) {            }        });        // 设置默认为第一屏        mViewPager.setCurrentItem(0);        // 初始化导航        initDotNavigation(mListFragment.size());    }    /**     * 初始化fragmentlist     */    private void initFragmentList() {        mListFragment = new ArrayList<>();        for (int i = 0; i < 7; i++) {            RemoteStepFragment fragment = new RemoteStepFragment(i);            mListFragment.add(fragment);        }    }    /**     * ViewPager适配器     *     * @author xl     */    class MyFragmentViewPager extends FragmentPagerAdapter {        public MyFragmentViewPager(FragmentManager fm) {            super(fm);        }        @Override        public Fragment getItem(int position) {            return mListFragment.get(position);        }        @Override        public int getCount() {            return mListFragment.size();        }    }    /**     * 设置当前页     */    public void setCurrPager(int position){        mViewPager.setCurrentItem(position);    }    /**     * 初始化导航     */    public void initDotNavigation(int sum) {        mDotNavigation.setLenght(sum);        mDotNavigation.setSelected(0);    }    /**     * 设置导航     */    public void setDotNavigation(int select) {        mDotNavigation.setSelected(select);    }    /**     * 跳转页面     */    public void enter() {        Intent intent = new Intent(this, StartActivity.class);        startActivity(intent);        AppManager.getAppManager().finishActivity(this);        overridePendingTransition(R.anim.push_left_in, R.anim.push_left_out);    }    /**     * 返回     */    private void exit() {        AppManager.getAppManager().finishActivity(this);        overridePendingTransition(R.anim.push_right_in, R.anim.push_right_out);    }    /**     * 按键监听     *     * @param keyCode     * @param event     * @return     */    @Override    public boolean onKeyDown(int keyCode, KeyEvent event) {        if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {            exit();            return true;        }        if (keyCode == KeyEvent.KEYCODE_MENU) {            CommonPopupAction.show(this, mMenubar);            return true;        }        return super.onKeyDown(keyCode, event);    }}

2、fragment的实现

布局文件common_fragment_step.xml

                                            

RemoteStepFragment.java

/** * 数据采集器下逆变器列表 *  * @author xl *  */public class RemoteStepFragment extends Fragment {private final static String TAG = RemoteStepFragment.class.getSimpleName();private RemoteStep5Activity mActivity;private View mView;private TextView mText1;private TextView mText2;private Button mButton1;private Button mButton2;private int mTag;public RemoteStepFragment() {}public RemoteStepFragment(int tag) {this.mTag = tag;}@Overridepublic void onCreate(Bundle savedInstanceState) { // 仅仅执行一次super.onCreate(savedInstanceState);}@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) { // 可执行多次,每当切换到该页面时执行一次if (mView == null) {mView = inflater.inflate(R.layout.common_fragment_step, null);findView();init();} else {ViewGroup group = (ViewGroup) mView.getParent();if (group != null) {group.removeView(mView);}}return mView;}/** * 查找控件 */private void findView() {mText1 = (TextView) mView.findViewById(R.id.tv1);mText2 = (TextView) mView.findViewById(R.id.tv2);mButton1 = (Button) mView.findViewById(R.id.btn1);mButton2 = (Button) mView.findViewById(R.id.btn2);}/** * 初始化 */private void init() {// 初始化变量mActivity = (RemoteStep5Activity) getActivity();// 初始化textviewmText1.setVisibility(View.GONE);mText2.setText(RemoteStep5Activity.mContentIds[mTag]);//设置按钮mButton1.setText(RemoteStep5Activity.mBtnTextIds[mTag]);mButton2.setVisibility(View.GONE);mButton1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {if(mTag == 6){mActivity.enter();}else{mActivity.setCurrPager(mTag + 1);}}});}}

如图

Android 圆点导航+引导页的实现_第1张图片

完!!!

更多相关文章

  1. 原创:Android 基础 控件 之 TextVIew(一)
  2. android导出sqllist数据库要先配置adb.exe加到环境变量里
  3. android Button控件的四种不同方法
  4. Android的EditText控件点击虚拟键盘上的回车怎么跳到下一个EditT
  5. Android常用控件-AutoCompleteTextView
  6. 如何在Mac/Linux上设置android环境变量
  7. VideoView控件
  8. android 控件的移动
  9. android控件-ImageView使用方法整理

随机推荐

  1. android控件的对齐方式转讲
  2. android音频口通信(二)——2FSK信号解调
  3. Android(安卓)启动过程
  4. android 开发布局之RelativeLayout
  5. android中怎么调整字体的间距和行间距
  6. Android四大视图动画图文详解
  7. 浅谈android的selector背景选择器
  8. Eclipse开发Android的配置(包括ADT安装,SDK
  9. Android(安卓)R文件丢失解决办法
  10. Android提供了Animation