XML布局
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="倒计时"
android:gravity="center_horizontal"
android:visibility="gone"
/>
<androidx.viewpager.widget.ViewPager
android:id="@+id/viewPage"
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="match_parent">
</androidx.viewpager.widget.ViewPager>
<Button
android:id="@+id/button"
android:text="跳转"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:visibility="gone"
/>
Fragment布局
<TextView
android:id="@+id/fragment_TextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="hello_blank_fragment"
android:gravity="center_horizontal"
android:textSize="30dp"/>
<ImageView
android:id="@+id/imageView"
android:layout_marginTop="50dp"
android:layout_gravity="center_horizontal"
android:src="@mipmap/ic_launcher"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
java代码
private TextView textView;
private ViewPager viewPage;
private Button button;
private List<Fragment> list = new ArrayList<>();
private List<String> list1 = new ArrayList<>();
private int index = 0;
private int sum ;
private Timer timer;
private Handler handler = new Handler(){
@Override
public void handleMessage(@NonNull Message msg) {
super.handleMessage(msg);
switch (msg.what){
case 100:
viewPage.setCurrentItem(index);
index++;
if (index == list.size()){
textView.setVisibility(View.VISIBLE);
button.setVisibility(View.VISIBLE);
index = 0;
}
break;
case 1:
sum = msg.arg1;
textView.setText("倒计时:"+sum+"秒");
if (sum==0){
Intent intent = new Intent(MainActivity.this,Main2Activity.class);
startActivity(intent);
timer.cancel();
finish();
}
break;
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
}
private void initView() {
textView = (TextView) findViewById(R.id.textView);
viewPage = (ViewPager) findViewById(R.id.viewPage);
button = (Button) findViewById(R.id.button);
list1.add("https://s3.cdn.xiangha.com/videoImg/201509/0722/55ed991bf1b88.JPG/MjgweDIyMA");
list1.add("https://s3.cdn.xiangha.com/videoImg/201508/2720/55defe33a9f40.JPG/MjgweDIyMA");
list1.add("https://s1.cdn.xiangha.com/i/201711/1420/5a0ae72b9bb7f.jpg/MTAweDEwMA");
list1.add("https://s1.cdn.xiangha.com/videoImg/201509/0721/55ed925971712.JPG/MjgweDIyMA");
button.setOnClickListener(this);
for (int i = 0; i < 4; i++) {
BlankFragment blankFragment = new BlankFragment();
Bundle bundle = new Bundle();
bundle.putString("key",i+"");
bundle.putString("pic",list1.get(i));
blankFragment.setArguments(bundle);
list.add(blankFragment);
}
viewPage.setAdapter(new FragmentStatePagerAdapter(getSupportFragmentManager()) {
@Override
public int getCount() {
return list.size();
}
@NonNull
@Override
public Fragment getItem(int position) {
return list.get(position);
}
});
timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
handler.sendEmptyMessage(100);
}
},0,1000);
viewPage.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
if (position == 3){
timer.cancel();
}
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
new Thread(new Runnable() {
@Override
public void run() {
try {
for (int i = 5; i >=0 ; i--) {
Thread.sleep(1000);
Message message = new Message();
message.what = 1;
message.arg1 = i;
handler.sendMessage(message);
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}).start();
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.button:
Intent intent = new Intent(MainActivity.this,Main2Activity.class);
startActivity(intent);
timer.cancel();
finish();
break;
}
}
Fragment–Java
View inflate = inflater.inflate(R.layout.fragment_blank, container, false);
fragment_TextView = inflate.findViewById(R.id.fragment_TextView);
imageView = inflate.findViewById(R.id.imageView);
Bundle bundle = getArguments();
String key = bundle.getString("key");
String pic = bundle.getString("pic");
Glide.with(getActivity()).load(pic).into(imageView);
fragment_TextView.setText(key);
return inflate;