如何在setContentView
之前设置活动的背景颜色。
我有一个需要花费大量时间来加载的活动,我需要保持背景为白色,直到活动完成加载。
答案 0 :(得分:6)
我想这正是您所需要的。
首先在values / colors.xml中定义颜色
<resources>
<color name="background">#FFFFFF </color>
</resources>
在res /值中创建一个引用该颜色的themes.xml文件:
<resources>
<style name="MyTheme" parent="@android:style/Theme.Light">
<item name="android:windowBackground">@color/background</item>
</style>
</resources>
...然后在AndroidManifest.xml中将此指定为您要使用的活动的主题。
<activity
android:name=".MyActivity"
android:theme="@style/MyTheme" />
答案 1 :(得分:1)
您可以执行以下操作之一:
setContentView
可以在活动生命周期中多次调用,因此您可以根据需要设置另一个只显示背景的布局文件,一旦完成加载,再次调用setContentView
加载实际布局!
或强>
您可以在一个布局文件中管理所有这些,方法是为根视图提供白色背景颜色,而不是根据需要显示/隐藏所需的部分!
答案 2 :(得分:0)
在你的oncreate中添加以下内容
Spinner = (ProgressBar) findViewById(R.id.LoginPageProgressBar);
Spinner.setVisibility(View.GONE);
当您单击该按钮时,在使用意图
之前添加以下内容Spinner.setVisibility(View.VISIBLE);
答案 3 :(得分:-1)
来自文档
setContentView(int layoutResID)
从布局资源设置活动内容。资源将是 膨胀,将所有顶级视图添加到活动中。
因此,在setContentView()
但是试着
在onCreate()
的{{1}}中避免使用太多代码。
使用Activity
加载数据&amp;向用户显示AsyncTask
或者您可以在加载主progressbar
之前实施一些splash screen
。