今天要完成一个启动页,然后跳转到主程序。

@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);
        }
    }


安卓开发      android

本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!