Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android主屏幕启动器_Android_Android Intent_Launcher - Fatal编程技术网

Android主屏幕启动器

Android主屏幕启动器,android,android-intent,launcher,Android,Android Intent,Launcher,首先让我告诉你们,我对Android应用程序开发完全是新手。 我想知道如何启动主屏幕和应用程序主屏幕。 i、 e每当你点击某个应用程序时,它首先会显示一些徽标屏幕,然后自动跳转到该应用程序的主屏幕。 我有我的应用程序运行的主屏幕,我只想添加一些类型的标志屏幕时,用户点击应用程序 我对此做了一些研究,我发现 <intent-filter> <action android:name="android.intent.action.MAIN" />

首先让我告诉你们,我对Android应用程序开发完全是新手。 我想知道如何启动主屏幕和应用程序主屏幕。 i、 e每当你点击某个应用程序时,它首先会显示一些徽标屏幕,然后自动跳转到该应用程序的主屏幕。 我有我的应用程序运行的主屏幕,我只想添加一些类型的标志屏幕时,用户点击应用程序

我对此做了一些研究,我发现

<intent-filter>
             <action android:name="android.intent.action.MAIN" />
             <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

如果我将此添加到徽标活动中,那么如何自动调用应用程序\主页\屏幕活动
希望我能清楚地解释这个问题。

您可以尝试的一个解决方案是将徽标加载为您的主要活动,并在调用第二个活动(您的“真实”主页)之前让应用程序暂停几秒钟

要开始第二个活动,您将使用“意图”,例如

Intent myIntent = new Intent(myFirstActivity.this, realHomePage.class);
myFirstActivity.this.startActivity(myIntent);

只需确保在主页类中扩展Activity类,您可以尝试的一个解决方案是将徽标加载为主要活动,并在调用第二个活动(您的“真实”主页)之前让应用程序暂停几秒钟

要开始第二个活动,您将使用“意图”,例如

Intent myIntent = new Intent(myFirstActivity.this, realHomePage.class);
myFirstActivity.this.startActivity(myIntent);

只需确保扩展主页类中的Activity类

将单击应用程序图标时调用的主活动设置为仅显示您徽标的视图的活动。一些简单的东西,只是一个相对论和一个图像视图。延迟一段时间后,让此活动有目的地启动您的实际主活动。

让在单击应用程序图标时调用的主活动成为仅显示您徽标的视图的活动。一些简单的东西,只是一个相对论和一个图像视图。延迟一段时间后,让此活动有目的地开始实际的主要活动。

您需要:

  • 添加一个新活动
    SplashActivity
    ,该活动将作为应用程序的开始活动
  • 应用程序启动后,启动您的
    splash活动
    ,然后等待一段时间
  • 等待结束后,启动
    main活动
    并完成
    splash活动
下面是一个很好的例子:

SplashScreenActivity:

public class SplashScreenActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.splash_layout); //You need to define it in your layouts
    final int welcomeScreenDisplay = 3000; //splash lasts for 3 sec. You can change it
    /** create a thread to show splash up to splash time */
    Thread welcomeThread = new Thread() {
        int wait = 0;
        @Override
        public void run() {
            try {
                super.run();
                while (wait < welcomeScreenDisplay) {
                     sleep(100);
                     wait += 100;
                }
            } catch (Exception e) {
                System.out.println("EXc=" + e);
            } finally {
                startActivity(new Intent(SplashScreenActivity.this, MainScreenActivity.class));
                finish();
            }}
        };
        welcomeThread.start();

    }
}
公共类活动扩展活动{
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.splash_layout);//您需要在布局中定义它
final int welcomeScreenDisplay=3000;//飞溅持续3秒。您可以更改它
/**创建一个线程以显示从启动到启动时间的启动*/
线程welcomeThread=新线程(){
int wait=0;
@凌驾
公开募捐{
试一试{
super.run();
while(等待
别忘了将活动添加到清单文件中:

<activity
    android:name=".SplashScreenActivity"
    android:label="@string/app_name" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>
<activity
    android:name=".MainScreenActivity"
    android:label="@string/app_name" >
</activity>

您需要:

  • 添加一个新活动
    SplashActivity
    ,该活动将作为应用程序的开始活动
  • 应用程序启动后,启动您的
    splash活动
    ,然后等待一段时间
  • 等待结束后,启动
    main活动
    并完成
    splash活动
下面是一个很好的例子:

SplashScreenActivity:

public class SplashScreenActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.splash_layout); //You need to define it in your layouts
    final int welcomeScreenDisplay = 3000; //splash lasts for 3 sec. You can change it
    /** create a thread to show splash up to splash time */
    Thread welcomeThread = new Thread() {
        int wait = 0;
        @Override
        public void run() {
            try {
                super.run();
                while (wait < welcomeScreenDisplay) {
                     sleep(100);
                     wait += 100;
                }
            } catch (Exception e) {
                System.out.println("EXc=" + e);
            } finally {
                startActivity(new Intent(SplashScreenActivity.this, MainScreenActivity.class));
                finish();
            }}
        };
        welcomeThread.start();

    }
}
公共类活动扩展活动{
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.splash_layout);//您需要在布局中定义它
final int welcomeScreenDisplay=3000;//飞溅持续3秒。您可以更改它
/**创建一个线程以显示从启动到启动时间的启动*/
线程welcomeThread=新线程(){
int wait=0;
@凌驾
公开募捐{
试一试{
super.run();
while(等待
别忘了将活动添加到清单文件中:

<activity
    android:name=".SplashScreenActivity"
    android:label="@string/app_name" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>
<activity
    android:name=".MainScreenActivity"
    android:label="@string/app_name" >
</activity>

尽管其他答案肯定有效,但这里有一个替代方案,可以避免仅针对您的徽标进行单独的活动:

  • 将ImageView放在主活动布局中的其他元素之前(它们将在屏幕外具有初始布局),如您所愿(即覆盖整个屏幕)
  • 在onCreate中调用setContentView后,运行SystemClock.sleep(LOGO_TIME),其中LOGO_TIME是一个整数,表示希望徽标显示的毫秒数
  • 最后,调用setVisibility(View.GONE)

  • 您的ImageView将消失,其他布局元素也将就位。

    尽管其他答案肯定有效,但这里有一个替代方案,可以避免仅为您的徽标进行单独的活动:

  • 将ImageView放在主活动布局中的其他元素之前(它们将在屏幕外具有初始布局),如您所愿(即覆盖整个屏幕)
  • 在onCreate中调用setContentView后,运行SystemClock.sleep(LOGO_