布局
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ui.activity.MainActivity">
<android.support.v4.view.ViewPager
android:id="@+id/welcome_viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent">
</android.support.v4.view.ViewPager>
<Button
android:id="@+id/welcome_start"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:background="@drawable/welcome_shape"
android:visibility="gone"
android:text="开始使用"/>
</RelativeLayout>
BaseAcitiry
package com.liu.get.e_commerceproject.base;
import android.app.Activity;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.Toast;
import com.umeng.analytics.MobclickAgent;
public abstract class BaseActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(getContent());
initView();
if(isConnect(this)){
initData();
}else{
Toast.makeText(this,"网络不可用",Toast.LENGTH_SHORT).show();
}
}
/**
* 初始化View
*/
public abstract void initView();
/**
* 初始化数据
*/
public abstract void initData();
/**
* 填充布局
* @return
*/
public abstract int getContent();
public static boolean isConnect(Context context) {
boolean _isConnect = false;
ConnectivityManager conManager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo network = conManager.getActiveNetworkInfo();
if (network != null) {
_isConnect = conManager.getActiveNetworkInfo().isAvailable();
}
return _isConnect;
}
}
Activity
package com.liu.get.e_commerceproject.ui.activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import com.liu.get.e_commerceproject.R;
import com.liu.get.e_commerceproject.adapter.ViewPager_Adapter_Main;
import com.liu.get.e_commerceproject.base.BaseActivity;
import com.yatoooon.screenadaptation.ScreenAdapterTools;
import java.util.ArrayList;
/**
* 第一次进入app的页面
*/
public class MainActivity extends BaseActivity implements View.OnClickListener {
private ViewPager welcome_viewpager;
private Button welcome_start;
public void initView() {
//屏幕适配
ScreenAdapterTools.getInstance().reset(this);
ScreenAdapterTools.getInstance().loadView(getWindow().getDecorView());
welcome_viewpager = (ViewPager) findViewById(R.id.welcome_viewpager);
welcome_start = (Button) findViewById(R.id.welcome_start);
welcome_start.setOnClickListener(this);
welcome_viewpager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int i, float v, int i1) {
}
@Override
public void onPageSelected(int i) {
if (i == 2) {
welcome_start.setVisibility(View.VISIBLE);
} else {
welcome_start.setVisibility(View.GONE);
}
}
@Override
public void onPageScrollStateChanged(int i) {
}
});
welcome_start.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Jump();
}
});
}
public void initData() {
SharedPreferences first_time_into = getSharedPreferences("First_time_into", MODE_PRIVATE);
if (first_time_into.getBoolean("isFirst", false)) {
Jump();
} else {
SharedPreferences.Editor edit = first_time_into.edit();
edit.putBoolean("isFirst", true);
edit.commit();
}
ArrayList<Integer> list = new ArrayList<>();
list.add(R.drawable.welcome1);
list.add(R.drawable.welcome2);
list.add(R.drawable.welcome3);
welcome_viewpager.setAdapter(new ViewPager_Adapter_Main(MainActivity.this, list));
}
@Override
public int getContent() {
return R.layout.activity_main;
}
private void Jump() {
startActivity(new Intent(MainActivity.this, GuideActivity.class));
finish();
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.welcome_start:
break;
}
}
}
ViewPager_Adapter_Main
package com.liu.get.e_commerceproject.adapter;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import com.bumptech.glide.Glide;
import com.facebook.drawee.view.SimpleDraweeView;
import java.io.File;
import java.util.ArrayList;
public class ViewPager_Adapter_Main extends PagerAdapter {
Context mContext;
ArrayList<Integer> list;
public ViewPager_Adapter_Main(Context con, ArrayList<Integer> images){
mContext = con;
list =new ArrayList<>();
list.addAll(images);
}
@Override
public int getCount() {
return list.size();
}
@Override
public boolean isViewFromObject(@NonNull View view, @NonNull Object o) {
return view == o;
}
@NonNull
@Override
public Object instantiateItem(@NonNull ViewGroup container, int position) {
ImageView imageView = new ImageView(mContext);
//imageView.setImageResource(list.get(position));
// imageView.setScaleType(ImageView.ScaleType.FIT_XY);
// container.addView(imageView);
ViewGroup.LayoutParams layoutParams = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
imageView .setLayoutParams(layoutParams);
(container).addView(imageView);
Glide.with(mContext)
.load(list.get(position))
.centerCrop()
.crossFade()
.into(imageView);
return imageView;
}
@Override
public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
ImageView imageView = (ImageView) object;
if (imageView == null)
return;
Glide.clear(imageView); //核心,解决OOM
((ViewPager) container).removeView(imageView);
}
}