启动画面后启动另一个活动而不是主动

时间:2017-03-11 00:54:54

标签: java android xml android-manifest

谁能告诉我如何让我的Android应用程序执行此命令?

1)启动画面(SplashActivity)..我作为启动器做了

2)介绍滑块(WelcomeActivity)..我不知道如何让它在启动后出现。

3)主要活动..我希望它在欢迎之后出现,或者我将通过点击“GOT IT”按钮启动它。

提前致谢。

2 个答案:

答案 0 :(得分:1)

如果我是对的,你要求的是如何使用意图和处理程序。首先,您的 splashActivity.java 应如下所示;

<div id="SignInInuptBoxes">
    <div id="SignLogPopup">Sign In</div>
    <input class="InputLogin" id="EmailLogin" placeholder="Email...">
    <br>
<input type="password"class="InputLogin" id="PasswordLogIn" placeholder="Password...">
<br>
<button class="SignLogPopUp" onclick="SignInForProgram()">Sign In</button>
</div>
    </div>

然后在 AndroidManifest.xml 中声明您的菜单活动和启动活动 例如;

public class SplashActivity extends Activity{

//timer in miliseconds, 1000ms = 1s//
private static int SPLASH_TIME_OUT = 2000;

//create first screen showed when app is launched//
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_splash);

    new Handler().postDelayed(new Runnable() {
        //showing splashscreen with a timer //

        @Override
        public void run() {
            //this is executed once the timer is over//

            Intent i = new Intent(SplashActivity.this,    WelcomeActivity.class);
            startActivity(i);
            finish();

        }
    },SPLASH_TIME_OUT);

}
}

然后,如何在欢迎活动之后打开主要活动,只需将SplashActivity.java的代码复制并粘贴到WelcomeActivity中,进行必要的更改, 但是如何打开使用按钮, 请参阅下面的示例代码 首先,您的按钮显示已在 activity_welcome.xml 中设计 e.g。

<activity
        android:name=".SplashActivity"
        android:screenOrientation="portrait">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".WelcomeActivity"
        android:screenOrientation="sensor" />
    <activity
        android:name=".MainActivity"
        android:screenOrientation="sensor" />

WelcomeActivity.java

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_welcome"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.domainname.yourappname.WelcomeActivity"
android:background="@drawable/splash"

<Button
        android:text="@string/got it"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/button"
        style="@style/Widget.AppCompat.Button.Borderless"
        android:textAlignment="center"
        android:textSize="30sp"
        android:layout_marginTop="41dp"
    android:textColorHighlight="@android:color/transparent"
    android:textColorHint="@android:color/transparent"
    android:layout_below="@+id/textView3"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true" />

</RelativeLayout>

注意:我不知道你正在编写什么程序或者你到目前为止如何设计它,这只是一个例子,你可能需要调整你的实际代码才能正常运行

答案 1 :(得分:0)

回答你的“如何”这样做的问题;

首先,确保所有活动都在您的清单中声明:

    <application
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme">
        <activity
            android:name=".SplashActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".WelcomeActivity" />
        <activity android:name=".MainActivity" />
</application>      

然后在启动计时器结束时在SplashActivity中声明:

    //If you're using a "Timer" to count down splash screen
new Handler().postDelayed(new Runnable() {

            @Override
            public void run() {
                Intent intent = new Intent(SplashActivity.this, WelcomeActivity.class);
                startActivity(intent);

            }
        }, 2000);

在您的WelcomeActivity中,无论您何时致电活动结束:

    Intent intent = new Intent(WelcomeActivity.this, MainActivity.class);
    startActivity(intent);

您可以使用意图here找到有关启动其他活动的详细信息,包括如何为下一个要接收的活动添加额外数据。希望有所帮助。