最近因为项目需求原因要写进度条,但是到网上找都没有找到自己想要的效果,因为写过类似的效果外加对其效果原理也清楚是怎么回事,就最近写一个。
功能就是可以随时跟随滑动,页面滑到一半,那么进度条也会滑到一半。
废话不多说先看代码(后面有源码下载地址)
- package com.example.viewpagerdome;
- import android.app.Activity;
- import android.os.Bundle;
- import android.support.v4.view.ViewPager;
- import android.support.v4.view.ViewPager.OnPageChangeListener;
- import android.util.Log;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.widget.Button;
- import android.widget.ImageView;
- import android.widget.RelativeLayout;
- import android.widget.RelativeLayout.LayoutParams;
- /**
- * 进度条跟随滑动功能
- */
- public class MainActivity extends Activity implements OnClickListener {
- /** 标签 **/
- private Button buttonTab01, buttonTab02, buttonTab03, buttonTab04;
- /** 进度条 **/
- private ImageView imageView;
- /** 进度条宽度 **/
- private Integer imageViewW = 0;
- /** 当官视图宽度 **/
- private Integer viewPagerW = 0;
- /** 适配器 **/
- private ViewpagerAdapter viewpagerAdapter;
- /** 多页面控件 **/
- private ViewPager viewPager;
- /** 布局属性 **/
- private RelativeLayout.LayoutParams layoutParams;
- /** 进度条移动值 **/
- private Integer moveI;
- /** 放重复 **/
- private boolean isFirst = true;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- viewPager = (ViewPager) findViewById(R.id.viewpager_show);
- imageView = (ImageView) findViewById(R.id.imageView_tiao);
- buttonTab01 = (Button) findViewById(R.id.button_01);
- buttonTab02 = (Button) findViewById(R.id.button_02);
- buttonTab03 = (Button) findViewById(R.id.button_03);
- buttonTab04 = (Button) findViewById(R.id.button_04);
- // 布局属性:用来设置进度条宽度和实现移动
- layoutParams = (LayoutParams) imageView.getLayoutParams();