DevStore首页 > DEV资源 > 源码下载 > 源码详情

引导页切换(只需要修改xml改变数量)

 
Dancing | 2015-06-25 18:48    浏览量(4398)    评论(4)    收藏(21)
功能分类:特效 支持平台:Android 运行环境:Eclipse
开发语言:Java 开发工具:Eclipse 源码大小:1.98MB
下载源码 725 人下载

源码简介

引导页的数量取决于xml中子控件的数量 修改比较方便

源码截图

  • 运行截图
DevStore所有源码来自用户上传分享,版权问题及牵扯到商业纠纷均与DevStore无关。

源码片段

package com.example.guideswitch;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
import android.widget.LinearLayout;

public class MainActivity extends Activity {
	SwitchLayout switchLayout;// 自定义的控件
	LinearLayout linearLayout;
	int mViewCount;// 自定义控件中子控件的个数
	ImageView mImageView[];// 底部的imageView
	int mCurSel;// 当前选中的imageView

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		init();
	}

	private void init() {
		switchLayout = (SwitchLayout) findViewById(R.id.switchLayoutID);
		linearLayout = (LinearLayout) findViewById(R.id.linerLayoutID);
		// 设置结束时跳转的activity
		switchLayout.setClass(FinishActivity.class);
		// 得到子控件的个数
		mViewCount = switchLayout.getChildCount();
		mImageView = new ImageView[mViewCount];
		// 设置imageView
		for (int i = 0; i < mViewCount; i++) {
			// 得到LinearLayout中的子控件
			mImageView[i] = (ImageView) linearLayout.getChildAt(i);
			mImageView[i].setEnabled(true);// 控件激活
			mImageView[i].setOnClickListener(new MOnClickListener());
			mImageView[i].setTag(i);// 设置与view相关的标签
		}
		// 设置第一个imageView不被激活
		mCurSel = 0;
		mImageView[mCurSel].setEnabled(false);
		switchLayout.setOnViewChangeListener(new MOnViewChangeListener());

	}

	// 点击事件的监听器
	private class MOnClickListener implements OnClickListener {
		@Override
		public void onClick(View v) {
			int pos = (Integer) v.getTag();
			// System.out.println("pos:--" + pos);
			// 设置当前显示的ImageView
			setCurPoint(pos);
			// 设置自定义控件中的哪个子控件展示在当前屏幕中
			switchLayout.snapToScreen(pos);
		}
	}

	/**
	 * 设置当前显示的ImageView
	 * 
	 * @param pos
	 */
	private void setCurPoint(int pos) {
		if (pos < 0 || pos > mViewCount - 1 || mCurSel == pos)
			return;
		// 当前的imgaeView将可以被激活
		mImageView[mCurSel].setEnabled(true);
		// 将要跳转过去的那个imageView变成不可激活
		mImageView[pos].setEnabled(false);
		mCurSel = pos;
	}

	// 自定义控件中View改变的事件监听
	private class MOnViewChangeListener implements OnViewChangeListener {
		@Override
		public void onViewChange(int view) {
			// System.out.println("view:--" + view);
			if (view < 0 || mCurSel == view) {
				return;
			} else if (view > mViewCount - 1) {
				// 当滚动到第五个的时候activity会被关闭
				// System.out.println("finish activity");
				finish();
			}
			setCurPoint(view);
		}

	}

}
  •   赞(1) 赞 +1 赞(1) 已赞
  •   收藏(21) 收藏 +1 已收藏 取消
  •   下载(725)
评论(4)
CatGAndroidmm

CatGAndroidmm 2018-01-19 16:36:57

很棒的东西 直接可以用 太赞了
回复(0) 赞(0) 赞(1)
wufayuzhi

wufayuzhi 2015-08-19 00:17:32

是个好东西,支持支持
回复(0) 赞(0) 赞(1)
紅日

紅日 2015-07-07 09:14:42

赞一个,使用方便
回复(0) 赞(0) 赞(1)
淡然灬一笑

淡然灬一笑 2015-07-01 16:41:05

立马去学习实践了
回复(0) 赞(0) 赞(1)
  • 推荐
  • 审核
  • 收录
  • 获取活力值

源码上传作者

  • 16 能力值
  • 8 源码
  • 0 评测
  • 0 资料

热门源码