android怎么让程序先先欢迎画面再进入主程序

Turisla 2012-09-14 07:51:20
我欢迎页面做好了,可是加到程序里面程序依然是只运行主程序,没有运行欢迎页面,怎么让程序运行后首先执行欢迎页面然后在执行主程序,需要跳转吗?
...全文
11305 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
yaorcs 2015-06-09
  • 打赏
  • 举报
回复
#14搞错了,那是单击按钮跳到另外一个页面的//汗
package com.example.jump;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Handler.Callback;

public class WelcomePage extends Activity {
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.welcome);
		mHandler.sendEmptyMessageDelayed(GOTO_MAIN_ACTIVITY, 3000);
	}

	protected final int GOTO_MAIN_ACTIVITY = 0;
	Handler mHandler = new Handler(new Callback() {

		public boolean handleMessage(android.os.Message msg) {
			switch (msg.what) {
			case GOTO_MAIN_ACTIVITY:
				Intent intent = new Intent();
				intent.setClass(WelcomePage.this, Page1.class);
				startActivity(intent);
				finish();
				break;
			default:
				break;
			}
			return true;

		}
	});
}
yaorcs 2015-06-09
  • 打赏
  • 举报
回复
[quote=引用 12 楼 yingluodu 的回复:] 我用了3L的代码发现有点问题,mHandler.sendEmptyMessageAtTime(GOTO_MAIN_ACTIVITY, 3000);//3秒跳转,这不会显示欢迎页面,应该使用mHandler.sendEmptyMessageDelayed(GOTO_MAIN_ACTIVITY, 3000);[/quote
package com.example.jump;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class Page1 extends Activity {

	private Button btn1;
	
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_page1);
        btn1=(Button) findViewById(R.id.btn_1);
        btn1.setOnClickListener(new OnClickListener(){
			@Override
			public void onClick(View v) {
				Intent intent = new Intent(Page1.this,Page2.class);
				startActivity(intent);
			}});
    }
}
Android_veteran 2014-11-25
  • 打赏
  • 举报
回复
引用 12 楼 yingluodu 的回复:
我用了3L的代码发现有点问题,mHandler.sendEmptyMessageAtTime(GOTO_MAIN_ACTIVITY, 3000);//3秒跳转,这不会显示欢迎页面,应该使用mHandler.sendEmptyMessageDelayed(GOTO_MAIN_ACTIVITY, 3000);
我刚试了一下。也发现了这个问题。谢谢。
yingluodu 2014-03-18
  • 打赏
  • 举报
回复
我用了3L的代码发现有点问题,mHandler.sendEmptyMessageAtTime(GOTO_MAIN_ACTIVITY, 3000);//3秒跳转,这不会显示欢迎页面,应该使用mHandler.sendEmptyMessageDelayed(GOTO_MAIN_ACTIVITY, 3000);
jwxkk 2013-09-21
  • 打赏
  • 举报
回复
2楼正解,欢迎页,也就是一个页面而已。
曹凯码农 2013-09-21
  • 打赏
  • 举报
回复
ActivityManager manager; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.welcome); manager = (ActivityManager)getSystemService(ACTIVITY_SERVICE); for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) { if("com.anjoyo.kugou.MusicSrevice".equals(service.service.getClassName())) { Intent intent=new Intent(WelComeActivity.this, MainActivity.class); startActivity(intent); finish(); } } new thread().start(); } public class thread extends Thread { @Override public void run() { // TODO Auto-generated method stub super.run(); try { sleep(3000); Intent intent=new Intent(WelComeActivity.this, MainActivity.class); startActivity(intent); finish(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } 这个更容易理解
AMinfo 2012-09-15
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
我欢迎页面做好了,可是加到程序里面程序依然是只运行主程序,没有运行欢迎页面,怎么让程序运行后首先执行欢迎页面然后在执行主程序,需要跳转吗?
[/Quote]

几种方式:
1、主线程中运行欢迎页面,运行完后再调用主程序。你如果把主程序也放在主线程中是没有效果的。
2、欢迎页面与主程序分为2个Activity,进行跳转
中才德创 2012-09-15
  • 打赏
  • 举报
回复
两个view切换也可以
jgszhuzhu 2012-09-15
  • 打赏
  • 举报
回复
3楼正解
liuwons 2012-09-15
  • 打赏
  • 举报
回复
在主Activity前加一个flash Activity,启动一个线程来定时并显示欢迎页面,结束后跳转到主Activity
来到我身边 2012-09-14
  • 打赏
  • 举报
回复
看看楼上的解答,LZ可以结贴了
catokat 2012-09-14
  • 打赏
  • 举报
回复
catokat 2012-09-14
  • 打赏
  • 举报
回复

<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.demo.welcome.WelComeActivity"
android:windowSoftInputMode="stateAlwaysHidden|adjustResize" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.demo.MainActivity"
android:screenOrientation="portrait" >
</activity>


public class WelComeActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mHandler.sendEmptyMessageAtTime(GOTO_MAIN_ACTIVITY, 3000);//3秒跳转
}
private static final int GOTO_MAIN_ACTIVITY = 0;
private Handler mHandler = new Handler(){
public void handleMessage(android.os.Message msg) {

switch (msg.what) {
case GOTO_MAIN_ACTIVITY:
Intent intent = new Intent();
intent.setClass(WelComeActivity.this, MainActivity.class);
startActivity(intent);
finish();
break;

default:
break;
}
};
};
catokat 2012-09-14
  • 打赏
  • 举报
回复
很简单呀,假如有两个Activity,一个是A,一个是B.
其中,A是欢迎界面,B是程序主界面。
那么,你可以将A设为启动Activity,就像楼上说的。
然后,在A的onCreate函数中,用Hander发送一个带延迟的消息,在消息处理中跳转到B就OK啦~
mimitracely 2012-09-14
  • 打赏
  • 举报
回复
在AndroidManifest.xml文件中,将主activity的intent-filter元素:

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

剪切到欢迎界面的activity中,

这个的意思就是,程序的入口activity

80,471

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧