`
knight_black_bob
  • 浏览: 850930 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

SplashActivity 类似微博 引导页

阅读更多

 




 
 

 

 

 

 activity_splash.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"  
    android:background="#0f0">

  

</RelativeLayout>

 

 

 SplashActivity .java

 
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.view.Window;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.view.animation.Animation.AnimationListener;

public class SplashActivity extends Activity {
	private boolean first;
	private View view;
	private Context context;
	private Animation animation;
	private static int TIME = 100;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		requestWindowFeature(Window.FEATURE_NO_TITLE);
		view = View.inflate(this, R.layout.activity_splash, null);
		setContentView(view);
		context = this;
	}

	@Override
	protected void onResume() {
		super.onResume();
		into();
	}

	private void into() {
		first = SharedPreferencesUtils.getFirstFlag(SplashActivity.this);
		animation = AnimationUtils.loadAnimation(context, R.anim.alpha);
		view.startAnimation(animation);
		animation.setAnimationListener(new AnimationListener() {

			@Override
			public void onAnimationEnd(Animation anim) {
				 new Handler().postDelayed( new Runnable() {

					@Override
					public void run() { 
						Intent intent = null;
                        if ( first || (Boolean)(SharedPreferencesUtils.getMessage(SplashActivity.this).get("checkLogin")) ) {
                        	intent = new Intent( SplashActivity.this,
                    				LoginActivity.class );    
                        }else{
                        	intent = new Intent( SplashActivity.this,
                    			MainActivity.class ); 
                        }
                        startActivity( intent );
                        overridePendingTransition( R.anim.in_from_right,
                                R.anim.out_to_left );
                        SplashActivity.this.finish();
					}
					 
				 }, TIME);
			}

			@Override
			public void onAnimationRepeat(Animation arg0) { 
			}

			@Override
			public void onAnimationStart(Animation arg0) { 
			}

		});
	}

	public void onPause() {
		super.onPause();
	}
}

 

 
import java.util.HashMap;
import java.util.Map;

import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;

public class SharedPreferencesUtils {

	private static String APP_IS_FIRST_IN = "APP_IS_FIRST_IN";
	private static String USERINFO ="USERINFO";
	
	 
	//是否是第一次进入app 默认:是 
	public static boolean getFirstFlag(Context context){
		SharedPreferences sharedPreferences = context.getSharedPreferences(
				APP_IS_FIRST_IN,Context.MODE_PRIVATE);
		return   sharedPreferences.getBoolean(APP_IS_FIRST_IN, true);
	} 
	
	//修改是否是第一次进入app 
	public static void changeFirstFlag(Context context ,boolean isFirstIn){
		SharedPreferences sharedPreferences = context.getSharedPreferences(
				APP_IS_FIRST_IN, Context.MODE_PRIVATE ); 
        Editor editor = sharedPreferences.edit();
        editor.putBoolean( APP_IS_FIRST_IN, isFirstIn );
        editor.commit();
	}
	 
	
	// 保存用户登录信息
	public static void saveMessage(Context context,String userName, String password, Boolean checkLogin, Boolean remember) {
		SharedPreferences sharedPreferences = context.getSharedPreferences(
				USERINFO,Context.MODE_PRIVATE);
		SharedPreferences.Editor editor = sharedPreferences.edit();
		editor.putString("userName", userName);
		editor.putString("password", password);
		editor.putBoolean("checkLogin", checkLogin);
		editor.putBoolean("remember", remember);
		editor.commit();
	}
	
	public static Map<String, Object> getMessage(Context context) {
		Map<String, Object> map = new HashMap<String, Object>();
		SharedPreferences sharedPreferences = context.getSharedPreferences(
				USERINFO,Context.MODE_PRIVATE);
		String name = sharedPreferences.getString("userName", "");
		String pass = sharedPreferences.getString("password", "");
		Boolean checkLogin = sharedPreferences.getBoolean("checkLogin", false);
		Boolean remember = sharedPreferences.getBoolean("remember", true);
		map.put("name", name);
		map.put("pass", pass);
		map.put("checkLogin", checkLogin);
		map.put("remember", remember);
		return map;
	}
	
	
}

 

 

res/anim 创建三个动画效果

alpha.xml

<?xml version="1.0" encoding="UTF-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="2000"
    android:fromAlpha="0.3"
    android:toAlpha="1.0" />

  in_from_right.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
    <translate
        android:duration="500"
        android:fromXDelta="100%p"
        android:toXDelta="0%p" />
</set>

 out_to_left.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
        android:duration="500"
        android:fromXDelta="0%p"
        android:toXDelta="-100%p" />
</set>

 

 

 AndroidManifest.xml

 <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:label="@string/app_name"
            android:screenOrientation="portrait"
            android:name="com.curiousby.activity.SplashActivity"  >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
</application>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

捐助开发者

在兴趣的驱动下,写一个免费的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(右上角的爱心标志,支持支付宝和PayPal捐助),没钱捧个人场,谢谢各位。



 
 
 谢谢您的赞助,我会做的更好!

 

 

  • 大小: 233 KB
分享到:
评论

相关推荐

    php个人引导页源码带后台

    引导页(Landing Page)是网站的第一个接触点,通常用于吸引用户注意力,提供简短的信息介绍,引导用户进行下一步操作。一个优秀的引导页能够有效地提高转化率,增强品牌形象,并帮助网站快速传达其核心价值。 在这...

    引导页设置 教学

    在IT行业中,引导页(Splash Screen)是一种常见的应用启动组件,它主要用于展示应用程序的品牌形象、特色功能或更新信息,同时也可以在后台加载应用程序的主要资源,提高用户体验。本教学将详细介绍如何设置和实现...

    科技感动态效果引导页官网源码_引导页_

    【科技感动态效果引导页官网源码】 在网站设计中,引导页(Landing Page)是一种重要的元素,它通常用于初次访问者展示产品或服务的关键信息,吸引用户的注意力并引导他们进行下一步操作。本资源提供的是一款科技感...

    Android引导页源码

    接下来是引导页的活动代码,如`SplashActivity.java`,它的主要任务是设置引导页的显示时间和跳转逻辑。一般而言,开发者会使用Handler或者CountDownTimer来控制显示时间,并在结束后启动主应用界面: ```java ...

    自适应工具箱引导页html源码.zip

    在网页设计中,引导页通常被用来展示产品的特性、服务的优势或吸引用户进一步探索网站。这个源码包提供了自适应的设计,意味着无论用户使用何种设备,如桌面电脑、平板还是手机,页面都能自动调整布局,确保最佳的...

    android ViewPager实现引导页效果

    在Android应用开发中,引导页(也称为欢迎页或新手引导)是一种常见的设计模式,用于初次启动应用时向用户介绍其主要功能和界面操作。在本教程中,我们将深入探讨如何利用ViewPager组件来实现这样的效果。ViewPager...

    浮层引导页Demo

    浮层引导页(Floating Guide Page)是应用设计中常见的一种元素,主要用于向用户介绍新功能或引导用户如何使用特定操作。这种页面通常在用户首次打开应用或者更新版本后出现,以提升用户体验并帮助用户快速理解应用...

    简约风好看的个人引导页源码.zip

    "简约风好看的个人引导页源码.zip" 提供了一个实用的解决方案,帮助你轻松创建具有专业感和个人特色的引导页面。这份源码基于HTML、JavaScript和CSS技术,通过记事本即可进行修改,适合初学者和有一定编程基础的设计...

    高仿新浪微博的引导界面

    本项目以“高仿新浪微博的引导界面”为主题,旨在教授如何在Android平台上创建类似新浪微博启动时的引导页效果。这种效果通常由多张图片滑动展示,配合简单的动画效果,让新用户对应用有直观的认识。 【描述】: ...

    iOS引导页Demo

    在iOS应用开发中,引导页(也称为启动页或欢迎页)是用户首次打开应用时看到的一组页面,用于展示应用特色、功能介绍或者提供初次使用教程。"iOS引导页Demo"是一个专为开发者设计的示例项目,旨在帮助他们快速理解和...

    swift-一键合成APP引导页包含不同状态下的引导页操作方式

    在Swift开发中,UI设计是至关重要的一个环节,特别是对于APP的用户体验而言,引导页(Launch Screen)扮演着举足轻重的角色。引导页能够向用户介绍应用的主要功能,提升品牌形象,同时也为用户提供一个平滑的启动...

    仿微信引导页HTML源码.zip

    【标题】"仿微信引导页HTML源码"是一款专门用于创建类似微信启动引导页的HTML源代码资源。这种类型的引导页通常在应用或网站首次打开时出现,旨在向用户介绍关键功能,提升用户体验,或者展示品牌形象。通过使用HTML...

    安卓欢迎界面引导页面viewpager相关-Android引导页.rar

    在本案例中,"安卓欢迎界面引导页面viewpager相关-Android引导页.rar" 文件提供了一个使用ViewPager实现的Android引导页示例。ViewPager是一个强大的组件,允许用户左右滑动来浏览多个页面,非常适合用于创建这种多...

    好看的个人引导页html源码.zip

    在这个引导页中,可能会定义各种元素的样式,如背景颜色、字体样式、动画效果等,以实现美观的视觉呈现。 - JavaScript 是一种动态编程语言,常用于网页的交互逻辑和动态效果。在这个案例中,JavaScript 可能用于...

    android实现APP应用引导页&启动页的功能源代码

    1. 活动类(Activity):如SplashActivity,实现引导页或启动页的逻辑。 2. 布局文件(XML):包含引导页和启动页的界面设计。 3. 图片资源:用于引导页展示的图片素材。 4. 数据适配器(PagerAdapter):如果引导页...

    3D引导页_炫酷3D引导页_

    在IT行业中,3D引导页是一种独特而引人注目的设计技术,用于吸引用户注意力并提升网站的整体用户体验。本文将深入探讨"3D炫酷HTML引导页"的相关知识点,包括其设计原理、实现技术以及应用价值。 首先,3D引导页的...

    一款简约好看的引导页HTML源码

    引导页,也称为 splash screen 或 landing page,是网站或应用程序在用户首次访问时展示的初始页面,旨在吸引用户的注意力,提供初步信息,并引导用户进入主内容区域。这款简约好看的引导页HTML源码,是专为个人主页...

    Android项目中的欢迎界面和引导页:动画和ViewPager

    在Android应用程序开发中,欢迎界面(Splash Screen)和引导页(Onboarding)是常见的用户体验设计元素,它们在用户首次打开应用或更新应用后提供一种视觉介绍。这些页面通常包含品牌展示、功能介绍以及可能的权限...

    一款非常炫酷动态的引导页

    在IT行业中,网页设计是至关重要的一环,尤其是对于初次接触网站或应用的用户而言,一个引人入胜的引导页可以极大地提升用户体验。本篇将深入探讨如何利用HTML和JavaScript来创建一款非常炫酷动态的引导页。 首先,...

    2024最新一款酷黑UI风个人引导页HTML源码

    在这款2024最新酷黑UI风个人引导页中,设计师采用了黑色为主色调,营造出一种深邃且现代的视觉效果。黑色常被视为高端、专业,能够吸引用户的注意力并提升产品的整体质感。这种风格在很多科技产品和应用程序中很受...

Global site tag (gtag.js) - Google Analytics