当你启动android应用程序时,主活动以白色背景和黑色标题开始,你的应用程序名称在左上角。这样的
如何完全删除这个(当应用程序开始不显示这个),并添加自定义加载进度条或一些标志到屏幕上?
如何创建一个包含进度条的自定义布局的启动对话框?
在你的主活动中做这样的事情
private SplashDialog mSplashDialog;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
showSplashScreen();
setContentView(R.layout.yourmainlayout);
}
protected void removeSplashScreen() {
if (mSplashDialog != null) {
mSplashDialog.dismiss();
mSplashDialog = null;
}
}
protected void showSplashScreen() {
mSplashDialog = new SplashDialog(this, R.style.splash_dialog);
mSplashDialog.setCancelable(false);
mSplashDialog.show();
}
创建定制对话框
public class SplashDialog extends Dialog {
private ProgressBar mProgressBar;
public SplashDialog(Context context, int theme) {
super(context, theme);
setContentView(R.layout.splash_dialog);
mProgressBar = (ProgressBar) findViewById(R.id.splash_progress);
}
public void setProgress(int progress) {
mProgressBar.setProgress(progress);
}
}
并添加样式,让对话框填充整个屏幕。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="splash_dialog">
<item name="android:padding">0dp</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowFrame">@null</item>
</style>
</resources>
要更改对话框的进度值,请调用mSplashDialog.setProgress(int progress)
。
当你的数据加载时调用removeSplashScreen()
我想你在这里可以找到你想要的东西:
如何改变闪屏
我的工作(因为我没有太多的加载开始实际上我根本不需要启动屏幕)是改变res/values/styles.xml:
<resources>
<color name="custom_theme_color">#000000</color>
<style name="AppTheme" parent="android:Theme.Light" >
<item name="android:windowNoTitle">true</item>
<item name="android:windowBackground">@color/custom_theme_color</item>
</style>
</resources>
它只是开始黑屏切换到全屏(1-2秒后),当它全部加载。看起来很"专业"。