Android開發之閃屏實現
阿新 • • 發佈:2019-02-20
案例描述:由淺入深的顯示一張logo圖片,顯示3秒鐘後跳轉到登入頁面。
準備的素材:一張logo圖片,一張按鈕背景圖片
logo佈局檔案logo.xml如下:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center" android:orientation="vertical" > <ImageView android:id="@+id/logo" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/splash" /> </LinearLayout>
LogoActivity程式碼如下:
public class LogoActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 取消標題 this.requestWindowFeature(Window.FEATURE_NO_TITLE); // 取消狀態列 this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.logo); ImageView logoImage = (ImageView) this.findViewById(R.id.logo); AlphaAnimation alphaAnimation = new AlphaAnimation(0.1f, 1.0f); alphaAnimation.setDuration(3000); logoImage.startAnimation(alphaAnimation); alphaAnimation.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(); intent.setClass(LogoActivity.this, LoginActivity.class); startActivity(intent); finish(); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.logo, menu); return true; } }
login佈局檔案login.xml如下:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:paddingLeft="10dip" android:text="賬號" android:textSize="16dip" /> <AutoCompleteTextView android:id="@+id/user" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="10dip" android:completionThreshold="1" android:inputType="textEmailAddress" android:singleLine="true" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:paddingLeft="10dip" android:text="密碼" android:textSize="16dip" /> <EditText android:id="@+id/password" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="10dip" android:password="true" android:singleLine="true" /> <Button android:id="@+id/loginButton" android:layout_width="180dip" android:layout_height="50dip" android:layout_gravity="center_horizontal" android:background="@drawable/regist_weibo_n" android:divider="@drawable/divider_horizontal_timeline" android:dividerHeight="2.0dip" android:text="登陸" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:drawableTop="@drawable/switchuser_divider" android:paddingLeft="10dip" android:text="微博廣場" android:textColor="#7b797b" android:textSize="16dip" /> </LinearLayout>
LoginActivity程式碼如下:
public class LoginActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.login);
}
}
AndroidManifest.xml檔案程式碼如下:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.bzu.tuiweibotest"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="15" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".ui.LogoActivity"
android:label="@string/title_activity_logo" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".ui.LoginActivity" >
</activity>
</application>
</manifest>