gpt4 book ai didi

android - 如何制作启动画面(应用启动时屏幕可见)?

转载 作者:IT王子 更新时间:2023-10-28 23:35:44 30 4
gpt4 key购买 nike

我有一个简单的应用程序,它启动,从网络加载 xml 提要,您可以浏览新闻列表,然后阅读所选新闻项目的详细信息。我想做的是有一个启动画面,这意味着一旦你点击应用程序,它应该显示一个图像(在我的例子中是应用程序名称),然后只有在它们加载后才显示新闻列表。

我读到过类似(我认为)的问题,通常人们说要使用 FrameLayout,但我无法真正解决。我不确定这是否可以在启动的第一个 Activity 中完成,也许我应该只在一个 Activity 中显示这个启动图像,然后才调用显示我的新闻列表的 Activity ?

我知道在 iPhone 上,您可以在开发时在应用程序设置中设置启动画面,如果在 android 的应用程序 list 中有此功能会很高兴...

最佳答案

Android 建议您在启动时执行冗长的计算时使用闪屏。以下是 Android 开发者网站的摘录 - 响应性设计:

“如果您的应用程序有一个耗时的初始设置阶段,请考虑尽快显示启动屏幕或渲染主视图并异步填写信息。无论哪种情况,您都应该以某种方式表明正在取得进展,以免用户感知到应用程序被卡住。” -- Android 开发者网站

您可以创建一个显示进度对话框的 Activity ,同时使用 AsyncTask 从网络下载 xml 提要,对其进行解析,将其存储到数据库(如果需要),然后启动显示新闻提要的 Activity。通过调用finish()关闭splash Activity

这是一个框架代码:


public class SplashScreen extends Activity{
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
// set the content view for your splash screen you defined in an xml file
setContentView(R.layout.splashscreen);

// perform other stuff you need to do

// execute your xml news feed loader
new AsyncLoadXMLFeed().execute();

}

private class AsyncLoadXMLFeed extends AsyncTask<Void, Void, Void>{
@Override
protected void onPreExecute(){
// show your progress dialog

}

@Override
protected Void doInBackground(Void... voids){
// load your xml feed asynchronously
}

@Override
protected void onPostExecute(Void params){
// dismiss your dialog
// launch your News activity
Intent intent = new Intent(SplashScreen.this, News.class);
startActivity(intent);

// close this activity
finish();
}

}
}

希望有帮助!

关于android - 如何制作启动画面(应用启动时屏幕可见)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2222890/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com