亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Android實(shí)現(xiàn)閃屏及注冊和登錄界面之間的切換效果

 更新時(shí)間:2016年11月08日 14:55:09   作者:劉麒麟  
這篇文章主要介紹了Android實(shí)現(xiàn)閃屏及注冊和登錄界面之間的切換效果,實(shí)現(xiàn)思路是先分別實(shí)現(xiàn)閃屏、注冊界面、登錄界面的活動,再用Intent將相關(guān)的活動連接起來,實(shí)現(xiàn)不同活動之間的跳轉(zhuǎn),對android 實(shí)現(xiàn)閃屏和界面切換感興趣的朋友一起看看吧

在沒給大家介紹正文之前先給大家說下實(shí)現(xiàn)思路:

先分別實(shí)現(xiàn)閃屏、注冊界面、登錄界面的活動,再用Intent將相關(guān)的活動連接起來,實(shí)現(xiàn)不同活動之間的跳轉(zhuǎn)。此次試驗(yàn)代碼較多,我只列出主要代碼,詳細(xì)的代碼可用底部的下載鏈接下載。

一、實(shí)驗(yàn)效果圖:

二、主要代碼:

(1)WelcomeActivity.Java(這部分代碼實(shí)現(xiàn)的是第一頁的歡迎頁面)

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); //取消電量狀態(tài)欄 
* 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(這部分代碼實(shí)現(xiàn)的是四個(gè)引導(dǎo)界面的功能)

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(這部分代碼實(shí)現(xiàn)的是數(shù)據(jù)適配的功能)

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(這部分代碼是登錄界面的實(shí)現(xiàn))

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) {// 將賬號和密碼都設(shè)置到文本框中 
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()) {// 檢查復(fù)選框是否被選中 
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(這部分代碼實(shí)現(xiàn)向注冊界面?zhèn)魅胗脩糨斎氲臄?shù)據(jù))

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(這部分代碼是注冊界面的實(shí)現(xiàn))

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("確認(rèn)密碼不能為空"); 
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(這部分代碼實(shí)現(xiàn)的是點(diǎn)擊“登錄”按鈕后跳轉(zhuǎn)到的界面)

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實(shí)現(xiàn)閃屏及注冊和登錄界面之間的切換效果,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Android Studio使用教程(五):Gradle命令詳解和導(dǎo)入第三方包

    Android Studio使用教程(五):Gradle命令詳解和導(dǎo)入第三方包

    這篇文章主要介紹了Android Studio使用教程(五):Gradle命令詳解和導(dǎo)入第三方包,本文講解了導(dǎo)入Android Studio、Gradle常用命令等內(nèi)容,需要的朋友可以參考下
    2015-05-05
  • Android自定義View新年煙花、祝福語橫幅動畫

    Android自定義View新年煙花、祝福語橫幅動畫

    這篇文章主要為大家詳細(xì)介紹了Android自定義View新年煙花、祝福語橫幅動畫,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • xUtils3.0框架學(xué)習(xí)筆記分享

    xUtils3.0框架學(xué)習(xí)筆記分享

    這篇文章主要為大家分享了xUtils3.0框架學(xué)習(xí)筆記,xUtils開源框架的功能介紹,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • Android自定義view貝塞爾曲線

    Android自定義view貝塞爾曲線

    這篇文章主要為大家詳細(xì)介紹了Android自定義view貝塞爾曲線,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • Android入門之Activity四種啟動模式(standard、singleTop、singleTask、singleInstance)

    Android入門之Activity四種啟動模式(standard、singleTop、singleTask、singl

    當(dāng)應(yīng)用運(yùn)行起來后就會開啟一條線程,線程中會運(yùn)行一個(gè)任務(wù)棧,當(dāng)Activity實(shí)例創(chuàng)建后就會放入任務(wù)棧中。Activity啟動模式的設(shè)置在AndroidManifest.xml文件中,通過配置Activity的屬性android:launchMode=""設(shè)置
    2015-12-12
  • Android 創(chuàng)建與解析XML(五)——詳解Dom4j方式

    Android 創(chuàng)建與解析XML(五)——詳解Dom4j方式

    本篇文章主要介紹了Android創(chuàng)建與解析XML(二)——詳解Dom4j方式,這里整理了詳細(xì)的代碼,有需要的小伙伴可以參考下。
    2016-11-11
  • Android ProgressBar組件使用教程

    Android ProgressBar組件使用教程

    Android ProgressBar分為水平進(jìn)度條和圓形進(jìn)度條, 看官方的劃分是Indeterminate Progress(不確定的進(jìn)度) 和 Determinate Progress(決定進(jìn)度)下面有2個(gè)demo一個(gè)是圓形的進(jìn)度條和一個(gè)水平的進(jìn)度條
    2022-11-11
  • Android實(shí)現(xiàn)圖片壓縮(bitmap的六種壓縮方式)

    Android實(shí)現(xiàn)圖片壓縮(bitmap的六種壓縮方式)

    Android中圖片是以bitmap形式存在的,這篇文章主要介紹了Android實(shí)現(xiàn)圖片壓縮(bitmap的六種壓縮方式),有興趣的可以了解一下。
    2017-02-02
  • android利用剪切板傳遞數(shù)據(jù)

    android利用剪切板傳遞數(shù)據(jù)

    這篇文章主要為大家詳細(xì)介紹了android利用剪切板傳遞數(shù)據(jù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • Android 布局中的android:onClick的使用方法總結(jié)

    Android 布局中的android:onClick的使用方法總結(jié)

    這篇文章主要介紹了Android 布局中的android:onClick的使用方法總結(jié)的相關(guān)資料,設(shè)置點(diǎn)擊時(shí)從上下文中調(diào)用指定的方法,這里提供實(shí)例幫助大家理解這部分內(nèi)容,需要的朋友可以參考下
    2017-08-08

最新評論