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捐助),没钱捧个人场,谢谢各位。
谢谢您的赞助,我会做的更好!
相关推荐
从给出的部分内容来看,这里可能是一个包含参数的URL链接,该链接可能是用来引导用户到新浪微博的注册页面。在网页中,URL后通常会附加查询字符串(例如entry=miniblog800px900px***Web520452px520px500650px12UC36-...
引导页(Landing Page)是网站的第一个接触点,通常用于吸引用户注意力,提供简短的信息介绍,引导用户进行下一步操作。一个优秀的引导页能够有效地提高转化率,增强品牌形象,并帮助网站快速传达其核心价值。 在这...
在IT行业中,引导页(Splash Screen)是一种常见的应用启动组件,它主要用于展示应用程序的品牌形象、特色功能或更新信息,同时也可以在后台加载应用程序的主要资源,提高用户体验。本教学将详细介绍如何设置和实现...
【科技感动态效果引导页官网源码】 在网站设计中,引导页(Landing Page)是一种重要的元素,它通常用于初次访问者展示产品或服务的关键信息,吸引用户的注意力并引导他们进行下一步操作。本资源提供的是一款科技感...
接下来是引导页的活动代码,如`SplashActivity.java`,它的主要任务是设置引导页的显示时间和跳转逻辑。一般而言,开发者会使用Handler或者CountDownTimer来控制显示时间,并在结束后启动主应用界面: ```java ...
在网页设计中,引导页通常被用来展示产品的特性、服务的优势或吸引用户进一步探索网站。这个源码包提供了自适应的设计,意味着无论用户使用何种设备,如桌面电脑、平板还是手机,页面都能自动调整布局,确保最佳的...
在Android应用开发中,引导页(也称为欢迎页或新手引导)是一种常见的设计模式,用于初次启动应用时向用户介绍其主要功能和界面操作。在本教程中,我们将深入探讨如何利用ViewPager组件来实现这样的效果。ViewPager...
浮层引导页(Floating Guide Page)是应用设计中常见的一种元素,主要用于向用户介绍新功能或引导用户如何使用特定操作。这种页面通常在用户首次打开应用或者更新版本后出现,以提升用户体验并帮助用户快速理解应用...
"简约风好看的个人引导页源码.zip" 提供了一个实用的解决方案,帮助你轻松创建具有专业感和个人特色的引导页面。这份源码基于HTML、JavaScript和CSS技术,通过记事本即可进行修改,适合初学者和有一定编程基础的设计...
本项目以“高仿新浪微博的引导界面”为主题,旨在教授如何在Android平台上创建类似新浪微博启动时的引导页效果。这种效果通常由多张图片滑动展示,配合简单的动画效果,让新用户对应用有直观的认识。 【描述】: ...
在iOS应用开发中,引导页(也称为启动页或欢迎页)是用户首次打开应用时看到的一组页面,用于展示应用特色、功能介绍或者提供初次使用教程。"iOS引导页Demo"是一个专为开发者设计的示例项目,旨在帮助他们快速理解和...
在Swift开发中,UI设计是至关重要的一个环节,特别是对于APP的用户体验而言,引导页(Launch Screen)扮演着举足轻重的角色。引导页能够向用户介绍应用的主要功能,提升品牌形象,同时也为用户提供一个平滑的启动...
【标题】"仿微信引导页HTML源码"是一款专门用于创建类似微信启动引导页的HTML源代码资源。这种类型的引导页通常在应用或网站首次打开时出现,旨在向用户介绍关键功能,提升用户体验,或者展示品牌形象。通过使用HTML...
在本案例中,"安卓欢迎界面引导页面viewpager相关-Android引导页.rar" 文件提供了一个使用ViewPager实现的Android引导页示例。ViewPager是一个强大的组件,允许用户左右滑动来浏览多个页面,非常适合用于创建这种多...
在这个引导页中,可能会定义各种元素的样式,如背景颜色、字体样式、动画效果等,以实现美观的视觉呈现。 - JavaScript 是一种动态编程语言,常用于网页的交互逻辑和动态效果。在这个案例中,JavaScript 可能用于...
1. 活动类(Activity):如SplashActivity,实现引导页或启动页的逻辑。 2. 布局文件(XML):包含引导页和启动页的界面设计。 3. 图片资源:用于引导页展示的图片素材。 4. 数据适配器(PagerAdapter):如果引导页...
在IT行业中,3D引导页是一种独特而引人注目的设计技术,用于吸引用户注意力并提升网站的整体用户体验。本文将深入探讨"3D炫酷HTML引导页"的相关知识点,包括其设计原理、实现技术以及应用价值。 首先,3D引导页的...
引导页,也称为 splash screen 或 landing page,是网站或应用程序在用户首次访问时展示的初始页面,旨在吸引用户的注意力,提供初步信息,并引导用户进入主内容区域。这款简约好看的引导页HTML源码,是专为个人主页...
在Android应用程序开发中,欢迎界面(Splash Screen)和引导页(Onboarding)是常见的用户体验设计元素,它们在用户首次打开应用或更新应用后提供一种视觉介绍。这些页面通常包含品牌展示、功能介绍以及可能的权限...
在这款2024最新酷黑UI风个人引导页中,设计师采用了黑色为主色调,营造出一种深邃且现代的视觉效果。黑色常被视为高端、专业,能够吸引用户的注意力并提升产品的整体质感。这种风格在很多科技产品和应用程序中很受...