Android 将2个布局连接到活动

Android 将2个布局连接到活动,android,android-layout,android-activity,Android,Android Layout,Android Activity,我对安卓系统完全陌生,我正在尝试开发一款简单的音乐播放器 应用程序应该从一个欢迎屏幕开始,屏幕上的动画会一直持续到onCreate功能循环设备,将所有音乐加载到播放列表中 我尝试使用2个布局来实现这一点,并将它们连接到活动,但只有第二个布局出现,在循环完成之前,除了一个白色的空白屏幕,什么都没有显示 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

我对安卓系统完全陌生,我正在尝试开发一款简单的音乐播放器

应用程序应该从一个欢迎屏幕开始,屏幕上的动画会一直持续到
onCreate
功能循环设备,将所有音乐加载到播放列表中

我尝试使用2个
布局
来实现这一点,并将它们连接到
活动
,但只有第二个布局出现,在循环完成之前,除了一个白色的
空白屏幕
,什么都没有显示

protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.welcome_layout);
        loading_img = (ImageView)findViewById(R.id.loading_view);
        final Animation animatable = AnimationUtils.loadAnimation(this, R.anim.welcome_screen_anim);
        loading_img.setAnimation(animatable);
        long i;
        for(i = 0; i < 1000000000; i++);// just a sample

        setContentView(R.layout.activity_main);
}
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.welcome\u布局);
加载\u img=(ImageView)findViewById(R.id.loading\u view);
final Animation animatable=AnimationUtils.loadAnimation(这是R.anim.welcome\u screen\u anim);
加载动画设置动画(可设置动画);
龙我;
对于(i=0;i<100000000;i++);//只是一个示例
setContentView(R.layout.activity_main);
}

您不能以这种方式调用setContentView两次。但您可以使用这种方法:

  • 将两个布局放在同一个文件中,位于
    标记内。为每个视图指定一个id
  • 确保两者都能填满整个屏幕
  • 将第二个(活动_main)的可见性更改为GONE
  • 加载后,将第一个视图(加载屏幕)的可见性标记为“已消失”,并将(活动_main)标记为“可见”
  • 要实现这一点,将默认的可视性放在XML中(对于加载屏幕可见,对于内容不可见)。在活动中,使用以下命令将视图绑定到对象:

    View loadingView = findViewById(R.id.*yourID*);
    loadingView.setVisibility(View.GONE);
    View contentView = findViewById(R.id.*yourID*);
    contentView.setVisibility(View.VISIBLE);
    

    另一种方法是使用单独的活动/片段

    不要使用两个活动,使用
    片段
    在谷歌上阅读你能给出一个例子吗?我是一个完全的初学者,我不知道如何解决这个问题。另外一个问题,现在它们都可以工作了,但是加载布局是空白的,它的主题与活动主题不同,这种情况有解决方案吗?那么你需要不同的活动