今天要完成一个启动页,然后跳转到主程序。
@Override
@Override
表示重写。编译器可以验证@Override
下面的方法名是否是你父类中所有的,如果没有则报错。
启动页
闪屏
<activity
android:name=".StartPageActivity"
android:theme="@style/SplashActivityTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
表示主activity
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
小记录,如果你的程序闪退,有可能是你调用了那个xml,但是没在application里声明activity。。。
编辑样式
在style.xml中编辑主题样式SplashActivityTheme:
<!-- Base application theme. -->
<style name="SplashActivityTheme" parent="android:Theme.Holo.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="android:windowBackground">@drawable/splash</item>
</style>
背景图片是drawable下的splash图片
activity跳转
一个app启动时,首先是启动页,然后跳转到主程序。
跳转语句如下
Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
startActivity(intent);
传送参数
putExtra
发送
intent.putExtra("name","chenxiyuan");
intent.putExtra("age",20);
接收
String name = intent.getStringExtra("name");
int age = intent.getIntExtra("age");
Bundle
发送
Bundle bundle = new Bundle();
bundle.putString("name","chenxiyuan");
bundle.putInt("age",20);
intent.putExtras(bundle);
接收
Bundle bundle = intent.getExtras();
String name = bundle.getString("name");
int age = bundle.getInt("age");
webview不跳转到浏览器
在loadurl方法前加入如下,即可实现不跳转到默认浏览器,而是在页面内访问。
myWebView.setWebViewClient(new WebViewClient());
状态栏透明
启动页如果状态栏不透明,效果会很差。可以定义如下方法,然后在onCreate后调用此方法就行了。
public static void setTranslucent(Activity activity) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
// 设置状态栏透明
activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
}
}
本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!