使用Banner,滑到最后一页显示按钮
一、banner是什么?
banner是一个可以代替ViewPager的控件。
二、使用步骤
1.引入库
代码如下(示例):
compile 'com.youth.banner:banner:1.4.9' 这是Banner的依赖
总结
提示:我这里是使用的banner 1.4.9
activity_splash.xml布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<com.youth.banner.Banner
android:id="@+id/banner"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/settings"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
android:layout_gravity="center"
android:text="网路设置" />
<Button
android:id="@+id/go_home"
android:visibility="gone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="50dp"
android:text="进入主页" />
</com.youth.banner.Banner>
</LinearLayout>
SplashActivity里面的代码
package com.example.smartcity.activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import androidx.viewpager.widget.ViewPager;
import com.bumptech.glide.Glide;
import com.example.smartcity.MainActivity;
import com.example.smartcity.R;
import com.youth.banner.Banner;
import com.youth.banner.BannerConfig;
import com.youth.banner.loader.ImageLoader;
import java.util.ArrayList;
import java.util.List;
import java.util.zip.GZIPOutputStream;
/**
* 引导页
*/
public class SplashActivity extends AppCompatActivity implements View.OnClickListener {
private Button settings;
private Button go_home;
private Banner banner;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
getSupportActionBar().hide();
initView();
List list = new ArrayList();
list.add(R.drawable.smartcity1);
list.add(R.drawable.smartcity2);
list.add(R.drawable.smartcity3);
list.add(R.drawable.smartcity4);
list.add(R.drawable.smartcity5);
banner.setBannerStyle(BannerConfig.NUM_INDICATOR);
banner.setImages(list);
banner.setDelayTime(99999999);
banner.setImageLoader(new ImageLoader() {
@Override
public void displayImage(Context context, Object o, ImageView imageView) {
Glide.with(SplashActivity.this).load(o).into(imageView);
}
});
//banner设置页面改变的监听
banner.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
if (list.size()-1 == position){
//如果到了最后一页,就显示按钮
settings.setVisibility(View.VISIBLE);
go_home.setVisibility(View.VISIBLE);
}else {
settings.setVisibility(View.GONE);
go_home.setVisibility(View.GONE);
}
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
banner.start();
}
private void initView() {
settings = (Button) findViewById(R.id.settings);
go_home = (Button) findViewById(R.id.go_home);
banner = (Banner) findViewById(R.id.banner);
settings.setOnClickListener(this);
go_home.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.settings:
break;
case R.id.go_home:
startActivity(new Intent(this, MainActivity.class));
finish();
break;
}
}
}