Android实现闪屏及注册和登录界面之间的切换效果

Android实现闪屏及注册和登录界面之间的切换效果,第1张

概述在没给大家介绍正文之前先给大家说下实现思路:先分别实现闪屏、注册界面、登录界面的活动,再用Intent将相关的活动连接起来,实现不同活动之间的跳转。此次试验代码较多,我只列出主要代码,详细的代码可用底部的下

在没给大家介绍正文之前先给大家说下实现思路:

先分别实现闪屏、注册界面、登录界面的活动,再用Intent将相关的活动连接起来,实现不同活动之间的跳转。此次试验代码较多,我只列出主要代码,详细的代码可用底部的下载链接下载。

一、实验效果图:

二、主要代码:

(1)WelcomeActivity.Java(这部分代码实现的是第一页的欢迎页面)

package com.example.flashscreendemo; import androID.app.Activity; import androID.content.Intent; import androID.os.Bundle; import androID.vIEw.animation.AlphaAnimation; import androID.vIEw.animation.Animation; import androID.vIEw.animation.Animation.AnimationListener; import androID.vIEw.animation.RotateAnimation; import androID.Widget.ImageVIEw; import androID.Widget.relativeLayout; public class WeclomeActivity extends Activity { private relativeLayout layoutWecome; private ImageVIEw ivMonkey; @OverrIDe protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); /* * requestwindowFeature(Window.FEATURE_NO_Title); //取消电量状态栏 * this.getwindow().setFlags(WindowManager.LayoutParams.FLAG_FulLSCREEN,* WindowManager.LayoutParams.FLAG_FulLSCREEN); */ setContentVIEw(R.layout.activity_weclome); layoutWecome = (relativeLayout) findVIEwByID(R.ID.layoutWelcome); AlphaAnimation AlphaAnimation = new AlphaAnimation(0.0f,1.0f); AlphaAnimation.setDuration(1000); layoutWecome.startAnimation(AlphaAnimation); ivMonkey = (ImageVIEw) findVIEwByID(R.ID.ivMonkey); RotateAnimation rotateAnimation = new RotateAnimation(0,360); rotateAnimation.setDuration(2000); rotateAnimation.setRepeatCount(2); ivMonkey.startAnimation(rotateAnimation); rotateAnimation.setAnimationListener(new AnimationListener() { @OverrIDe public voID onAnimationStart(Animation animation) { } @OverrIDe public voID onAnimationRepeat(Animation animation) { } @OverrIDe public voID onAnimationEnd(Animation animation) { Intent intent = new Intent(WeclomeActivity.this,GuIDeActivity.class); startActivity(intent); finish(); } }); } }

(2)GuIDeActivity.java(这部分代码实现的是四个引导界面的功能)

package com.example.flashscreendemo; import java.util.ArrayList; import java.util.List; import com.example.flashscreendemo.adapter.GuIDeAdapter; import androID.app.Activity; import androID.content.Intent; import androID.os.Bundle; import androID.support.v4.vIEw.VIEwPager; import androID.support.v4.vIEw.VIEwPager.OnPagechangelistener; import androID.vIEw.LayoutInflater; import androID.vIEw.Menu; import androID.vIEw.VIEw; import androID.Widget.ImageVIEw; public class GuIDeActivity extends Activity { private VIEwPager vpGuIDe; private ImageVIEw ivDots[]; private int[] dots_ID; @OverrIDe protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.activity_guIDe); initGuIDeVIEws(); initDots(); vpGuIDe.setonPagechangelistener(new OnPagechangelistener() { @OverrIDe public voID onPageSelected(int position) { for (int i = 0; i < ivDots.length; i++) { if (position == i) { ivDots[i] .setimageResource(R.drawable.bg_point_selected); } else { ivDots[i].setimageResource(R.drawable.bg_point_normal); } } } @OverrIDe public voID onPageScrolled(int position,float arg1,int arg2) { } @OverrIDe public voID onPageScrollStateChanged(int postion) { } }); } public voID jumpMain(VIEw vIEw) { Intent intent = new Intent(this,com.example.minitwittersimulate.LoginActivity.class); startActivity(intent); finish(); } private voID initDots() { dots_ID = new int[] { R.ID.ivDots1,R.ID.ivDots2,R.ID.ivDots3,R.ID.ivDots4 }; ivDots = new ImageVIEw[dots_ID.length]; for (int i = 0; i < ivDots.length; i++) { ivDots[i] = (ImageVIEw) findVIEwByID(dots_ID[i]); } } private voID initGuIDeVIEws() { vpGuIDe = (VIEwPager) findVIEwByID(R.ID.vpGuIDe); List<VIEw> vIEws = new ArrayList<VIEw>(); LayoutInflater layoutInflater = getLayoutInflater(); VIEw vIEw1 = layoutInflater.inflate(R.layout.vIEw1ofpager,null); vIEws.add(vIEw1); VIEw vIEw2 = layoutInflater.inflate(R.layout.vIEw2ofpager,null); vIEws.add(vIEw2); VIEw vIEw3 = layoutInflater.inflate(R.layout.vIEw3ofpager,null); vIEws.add(vIEw3); VIEw vIEw4 = layoutInflater.inflate(R.layout.vIEw4ofpager,null); vIEws.add(vIEw4); GuIDeAdapter guIDeAdapter = new GuIDeAdapter(vIEws); vpGuIDe.setAdapter(guIDeAdapter); } @OverrIDe public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.guIDe,menu); return true; } }

(3)GuIDeAdapter.java(这部分代码实现的是数据适配的功能)

package com.example.flashscreendemo.adapter; import java.util.List; import androID.support.v4.vIEw.PagerAdapter; import androID.vIEw.VIEw; import androID.vIEw.VIEwGroup; public class GuIDeAdapter extends PagerAdapter { private List<VIEw> vIEws; public GuIDeAdapter(List<VIEw> vIEws) { super(); this.vIEws = vIEws; } @OverrIDe public int getCount() { return vIEws.size(); } @OverrIDe public boolean isVIEwFromObject(VIEw vIEw,Object object) { return vIEw == object; } @OverrIDe public Object instantiateItem(VIEwGroup container,int position) { container.addVIEw(vIEws.get(position)); return vIEws.get(position); } @OverrIDe public voID destroyItem(VIEwGroup container,int position,Object object) { container.removeVIEw(vIEws.get(position)); } }

(4)LoginActivity.java(这部分代码是登录界面的实现)

package com.example.minitwittersimulate; import androID.app.Activity; import androID.content.Intent; import androID.content.SharedPreferences; import androID.os.Bundle; import androID.preference.PreferenceManager; import androID.vIEw.VIEw; import androID.vIEw.VIEw.OnClickListener; import androID.Widget.button; import androID.Widget.CheckBox; import androID.Widget.EditText; import androID.Widget.TextVIEw; import androID.Widget.Toast; import com.example.flashscreendemo.R; public class LoginActivity extends Activity { private SharedPreferences pref; private SharedPreferences.Editor editor; private EditText etUsername; private EditText etPassword; private button btnLogin; private CheckBox cbRememberPass; private TextVIEw tvRe; @OverrIDe protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.activity_login); pref = PreferenceManager.getDefaultSharedPreferences(this); etUsername = (EditText) findVIEwByID(R.ID.etUsername); etPassword = (EditText) findVIEwByID(R.ID.etPassword); cbRememberPass = (CheckBox) findVIEwByID(R.ID.cbRememberPass); btnLogin = (button) findVIEwByID(R.ID.btnLogin); tvRe = (TextVIEw) findVIEwByID(R.ID.tvRe); boolean isRemember = pref.getBoolean("remember_password",false); if (isRemember) {// 将账号和密码都设置到文本框中 String account = pref.getString("account",""); String password = pref.getString("password",""); etUsername.setText(account); etPassword.setText(password); cbRememberPass.setChecked(true); } btnLogin.setonClickListener(new OnClickListener() { @OverrIDe public voID onClick(VIEw v) { String account = etUsername.getText().toString(); String password = etPassword.getText().toString(); if (account.trim().equals("")) { Toast.makeText(LoginActivity.this,"请您输入用户名!",Toast.LENGTH_SHORT).show(); return; } if (password.trim().equals("")) { Toast.makeText(LoginActivity.this,"请您输入密码!",Toast.LENGTH_SHORT).show(); return; } if (account.equals("admin") && password.equals("123456")) { editor = pref.edit(); if (cbRememberPass.isChecked()) {// 检查复选框是否被选中 editor.putBoolean("remember_password",true); editor.putString("account",account); editor.putString("password",password); } else { editor.clear(); } editor.commit(); Intent intent = new Intent(LoginActivity.this,MainActivity.class); startActivity(intent); finish(); } else { Toast.makeText(LoginActivity.this,"account or password is invalID",Toast.LENGTH_SHORT).show(); } } }); tvRe.setonClickListener(new OnClickListener() { @OverrIDe public voID onClick(VIEw v) { // Todo auto-generated method stub Intent intent = new Intent(LoginActivity.this,Register.class); startActivity(intent); finish(); } }); } }

(5)User.java(这部分代码实现向注册界面传入用户输入的数据)

package com.example.minitwittersimulate; public class User { private String username; private String passWord; private char sex; private String city; private String hobby; public String getUsername() { return username; } public voID setUsername(String username) { this.username = username; } public String getpassWord() { return passWord; } public voID setPassWord(String passWord) { this.passWord = passWord; } public char getSex() { return sex; } public voID setSex(char sex) { this.sex = sex; } public String getCity() { return city; } public voID setCity(String city) { this.city = city; } public String getHobby() { return hobby; } public voID setHobby(String hobby) { this.hobby = hobby; } public User(String username,String passWord,char sex,String city,String hobby) { super(); this.username = username; this.passWord = passWord; this.sex = sex; this.city = city; this.hobby = hobby; } @OverrIDe public String toString() { // Todo auto-generated method stub return this.username + "," + this.passWord + "," + this.sex + "," + this.city + "," + this.hobby; } }

(6)Register.java(这部分代码是注册界面的实现)

package com.example.minitwittersimulate; import com.example.flashscreendemo.R; import androID.app.Activity; import androID.content.Intent; import androID.os.Bundle; import androID.text.TextUtils; import androID.vIEw.VIEw; import androID.Widget.CheckBox; import androID.Widget.EditText; import androID.Widget.Radiobutton; import androID.Widget.Spinner; import androID.Widget.Toast; public class Register extends Activity { EditText etUser,etPassw,etRePassw; Radiobutton rbMale,rbfaMale; CheckBox cbRead,cbTourist,cbPlayGame; Spinner spCity; @OverrIDe protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.activity_register); init(); } private voID init() { // Todo auto-generated method stub etUser = (EditText) findVIEwByID(R.ID.etUser); etPassw = (EditText) findVIEwByID(R.ID.etPassw); etRePassw = (EditText) findVIEwByID(R.ID.etRePassw); rbMale = (Radiobutton) findVIEwByID(R.ID.rbMale); rbfaMale = (Radiobutton) findVIEwByID(R.ID.rbfaMale); cbRead = (CheckBox) findVIEwByID(R.ID.cbRead); cbTourist = (CheckBox) findVIEwByID(R.ID.cbTourist); cbPlayGame = (CheckBox) findVIEwByID(R.ID.cbPlayGame); spCity = (Spinner) findVIEwByID(R.ID.spCity); } public voID onclick(VIEw vIEw) { switch (vIEw.getID()) { case R.ID.btRegister: String username = etUser.getText().toString(); if (TextUtils.isEmpty(username)) { Toast.makeText(this,"用户名不能为空",2000).show(); return; } String passW = etPassw.getText().toString(); if (TextUtils.isEmpty(passW)) { etPassw.setError("密码不能为空"); return; } String rePassw = etRePassw.getText().toString(); if (TextUtils.isEmpty(rePassw)) { etRePassw.setError("确认密码不能为空"); return; } if (!passW.equals(rePassw)) { Toast.makeText(this,"两次密码不一致",2000).show(); return; } char sex; if (rbMale.isChecked()) { sex = rbMale.getText().charat(0); } else { sex = rbfaMale.getText().charat(0); } StringBuffer s = new StringBuffer(); if (cbRead.isChecked()) { s.append(cbRead.getText().toString() + ","); } if (cbTourist.isChecked()) { s.append(cbTourist.getText().toString() + ","); } if (cbPlayGame.isChecked()) { s.append(cbPlayGame.getText().toString() + ","); } String city = spCity.getSelectedItem().toString(); User user = new User(username,passW,sex,s.toString().equals("") ? "" : s.toString().substring(0,s.length()),city); Toast.makeText(this,"用户注册信息:" + user.toString(),100000).show(); Intent intent = new Intent(Register.this,LoginActivity.class); startActivity(intent); finish(); break; case R.ID.btEixt: finish(); break; case R.ID.btReturn: Intent intent1 = new Intent(Register.this,LoginActivity.class); startActivity(intent1); finish(); break; } } }

(7)MainActivity.java(这部分代码实现的是点击“登录”按钮后跳转到的界面)

package com.example.minitwittersimulate; import androID.app.Activity; import androID.os.Bundle; import androID.vIEw.Menu; import com.example.flashscreendemo.R; public class MainActivity extends Activity { @OverrIDe protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.activity_main); } @OverrIDe public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main,menu); return true; } } 

以上所述是小编给大家介绍的AndroID实现闪屏及注册和登录界面之间的切换效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程小技巧网站的支持!

总结

以上是内存溢出为你收集整理的Android实现闪屏及注册和登录界面之间的切换效果全部内容,希望文章能够帮你解决Android实现闪屏及注册和登录界面之间的切换效果所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1147788.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存