将2个布局连接到活动

问题描述:

我对android完全陌生,我正在尝试开发一个简单的音乐播放器。将2个布局连接到活动

该应用程序应该以欢迎屏幕开始,并保留动画,直到onCreate函数循环播放设备以将所有音乐加载到播放列表。

我试图实现这一点,使用2 layouts,并将它们连接到activity,但只有第二个出现,环路结束之前没有比白色blank screen被示出的其他。

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); 
} 
+3

不要使用两种活动,使用'Fragments'read关于它的谷歌 – Aspicas

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

  1. 将两个布局放在同一个文件中,位于<View>标记内。 给一个id每个视图
  2. 确保两个可以填满整个屏幕
  3. 更改第二个(activity_main)的知名度,GONE
  4. 加载时,标志着第一个视图(加载屏幕)的可视性GONE和(activity_main)可见

要实现这一目标,请将默认可见性放入XML(可见,用于加载屏幕,GONE用于您的内容)。在您的活动,使用绑定视图对象:

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

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

+0

u能给这个样本?我是一个完整的初学者,我不知道如何可以这样做 – andrew

+0

我已经更新了我的答案@andrew – webo80

+0

非常感谢@ webo80 – andrew