复习(viewPager)首次登陆

本文介绍了一个基于Android的启动页实现方案,利用ViewPager展示一系列欢迎图片,并通过SharedPreferences管理应用的登录状态。当用户首次打开应用时,将显示启动页直至最后一张图片,此时登录按钮出现,用户点击后记录登录状态并跳转至主界面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package com.example.dell.ykmn01;

import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageView;

import java.util.ArrayList;

import fragment.OneFragment;

public class MainActivity extends AppCompatActivity {

    private ImageView image;
    private ViewPager vp;
    private ArrayList<Integer> imageViews;
    private Button jump;
    private SharedPreferences config;
    private boolean login;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate( savedInstanceState );
        setContentView( R.layout.activity_main );
//初始化控件
        vp = (ViewPager) findViewById( R.id.vp );
        jump = (Button) findViewById( R.id.jump );
//创建存储图片的集合并且添加所需要的图片(本地图片)
        imageViews = new ArrayList<Integer>();
        imageViews.add( R.drawable.splash01 );
        imageViews.add( R.drawable.splash02 );
        imageViews.add( R.drawable.splash03 );
        imageViews.add( R.drawable.splash04 );
//获取getSharedPreferences来存储登陆状态
        config = getSharedPreferences( "config", MODE_PRIVATE );
//得到是不是首次登陆 boolean类型
        login = config.getBoolean( "Login", false );
//判断是否首次登陆
        if (login){
//如果为真直接跳转
            Intent intent = new Intent( MainActivity.this, DEmo.class );
            startActivity( intent );
        }
//设置viewPager适配器
        vp.setAdapter( new PagerAdapter() {
            @Override
            public int getCount() {
//图片集合长度
                return imageViews.size();
            }

            @Override
            public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {
                return view == object;
            }

            @NonNull
            @Override
            public Object instantiateItem(@NonNull final ViewGroup container, int position) {
//创建imageview
                ImageView imageView = new ImageView( MainActivity.this );
//设置图片类型
                imageView.setScaleType( ImageView.ScaleType.FIT_XY );
//设置图片资源
                imageView.setImageResource( imageViews.get( position ) );
//判断如果图片到第三张 显示按钮 并点击跳转
                if (position == 3){
                    jump.setVisibility( View.VISIBLE );
                    jump.setOnClickListener( new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            login = config.edit().putBoolean( "Login", true ).commit();
                            Intent intent = new Intent( MainActivity.this, DEmo.class );
                            startActivity( intent );
                        }
                    } );
//如果没有到第三张图片  按钮隐藏状态
                }else if(position<3){
                    jump.setVisibility( View.GONE );
                }
//添加视图
                container.addView( imageView );
                return imageView;
            }

            @Override
            public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
                container.removeView( (View) object );
            }
        } );
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值