android启动图倒计时,Android ViewPager简单实现 - 倒计时、引导页左右滑动
package com.xinyan.personal.ui.activity;import android.content.Intent;import android.gesture.GestureUtils;import android.os.Bundle;import android.os.CountDownTimer;import android.support.annotation.Nu
package com.xinyan.personal.ui.activity;
import android.content.Intent;
import android.gesture.GestureUtils;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.support.annotation.Nullable;
import android.support.v4.view.ViewPager;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import com.xinyan.personal.MainActivity;
import com.xinyan.personal.R;
import com.xinyan.personal.adapter.GuideAdapter;
import com.xinyan.personal.util.SPUtils;
import com.xinyan.personal.util.UiUtil;
import java.util.ArrayList;
import java.util.List;
/**
* 引导页
* Created by zst on 2017/8/2.
*/
public class GuideActivity extends BaseActivity implements ViewPager.OnPageChangeListener, View.OnClickListener{
private ViewPager vp_guide;
private TextView tv_skip;
private TextView tv_begin;
private ImageView iv_dot_0;
private ImageView iv_dot_1;
private ImageView iv_dot_2;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_guide);
vp_guide = (ViewPager) findViewById(R.id.vp_guide);
tv_skip = (TextView) findViewById(R.id.tv_skip);
tv_begin = (TextView) findViewById(R.id.tv_begin);
iv_dot_0 = (ImageView) findViewById(R.id.iv_dot_0);
iv_dot_1 = (ImageView) findViewById(R.id.iv_dot_1);
iv_dot_2 = (ImageView) findViewById(R.id.iv_dot_2);
tv_skip.setOnClickListener(this);
tv_begin.setOnClickListener(this);
initBanner();
countDownTimer();
}
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.tv_begin:
SPUtils.setParam(GuideActivity.this, SPUtils.GUIDE_STATUS, true);
startActivity(new Intent(GuideActivity.this, MainActivity.class));
finish();
break;
case R.id.tv_skip:
SPUtils.setParam(GuideActivity.this, SPUtils.GUIDE_STATUS, true);
startActivity(new Intent(GuideActivity.this, MainActivity.class));
finish();
break;
}
}
//初始化三张引导页
private void initBanner() {
List images = new ArrayList<>();
images.add(R.drawable.pic_guide_0);
images.add(R.drawable.pic_guide_1);
images.add(R.drawable.pic_guide_2);
GuideAdapter guideAdapter = new GuideAdapter(GuideActivity.this, images);
vp_guide.setAdapter(guideAdapter);
vp_guide.addOnPageChangeListener(this);
}
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
setDefalutDot();
if(position == 0) {
iv_dot_0.setImageResource(R.drawable.ic_ad_dot_check);
}
if(position == 1) {
iv_dot_1.setImageResource(R.drawable.ic_ad_dot_check);
}
if(position == 2) {
iv_dot_2.setImageResource(R.drawable.ic_ad_dot_check);
tv_begin.setVisibility(View.VISIBLE);
}
}
@Override
public void onPageScrollStateChanged(int state) {
}
//设置默认的dot
private void setDefalutDot() {
tv_begin.setVisibility(View.GONE);
iv_dot_0.setImageResource(R.drawable.ic_ad_dot_default);
iv_dot_1.setImageResource(R.drawable.ic_ad_dot_default);
iv_dot_2.setImageResource(R.drawable.ic_ad_dot_default);
}
/**
* 5秒倒计时;
*/
public void countDownTimer() {
CountDownTimer timer = new CountDownTimer(5000, 1000) {
@Override
public void onTick(long millisUntilFinished) {
tv_skip.setText("跳过" + millisUntilFinished / 1000);
tv_skip.setEnabled(false);
}
@Override
public void onFinish() {
tv_skip.setText("跳过");
tv_skip.setEnabled(true);
}
};
timer.start();
}
}
activity_guide.xml
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent" android:layout_height="match_parent"
android:background="@color/bg_efeff4"
android:orientation="vertical">
android:layout_width="match_parent"
android:layout_height="match_parent">
android:id="@+id/vp_guide"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="20dp"
android:orientation="vertical">
android:id="@+id/tv_begin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:background="@drawable/shape_btn_guide_use"
android:text="申请试用"
android:textColor="@color/white"
android:visibility="gone"/>
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="30dp">
android:id="@+id/iv_dot_0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_ad_dot_check"/>
android:id="@+id/iv_dot_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:src="@drawable/ic_ad_dot_default"/>
android:id="@+id/iv_dot_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:src="@drawable/ic_ad_dot_default"/>
android:id="@+id/tv_skip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:background="@drawable/shape_btn_guide_second"
android:layout_margin="20dp"
android:paddingTop="5dp"
android:paddingBottom="5dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:clickable="false"
android:textSize="11sp"
android:text="跳过 5"
android:textColor="@color/white"/>
GuideAdapter.java
package com.xinyan.personal.adapter;
import android.content.Context;
import android.content.Intent;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.xinyan.personal.R;
import com.xinyan.personal.httpManager.response.NoticeListResponse;
import com.xinyan.personal.ui.activity.MsgDetailActivity;
import java.util.List;
import java.util.Map;
/**
* 引导页配器
* Created by zst on 2017/8/2.
*/
public class GuideAdapter extends PagerAdapter {
Context context;
List viewLists;
public GuideAdapter(Context context, List lists) {
this.viewLists = lists;
this.context = context;
}
@Override
public int getCount() { //获得size
return viewLists.size();
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == object;
}
@Override
public void destroyItem(ViewGroup view, int position, Object object) { //销毁Item
}
@Override
public Object instantiateItem(ViewGroup view, int position){ //实例化Item
ImageView imageView = new ImageView(context);
ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(
ViewPager.LayoutParams.MATCH_PARENT,ViewPager.LayoutParams.MATCH_PARENT);
imageView.setLayoutParams(params);
imageView.setScaleType(ImageView.ScaleType.CENTER);
Glide.with(context)
.load(viewLists.get(position))
.into(imageView);
view.addView(imageView);
return imageView;
}
}
更多推荐
所有评论(0)