将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);
}
答
您不能以这种方式调用setContentView两次。但是,您可以使用此方法:
- 将两个布局放在同一个文件中,位于
<View>
标记内。 给一个id每个视图 - 确保两个可以填满整个屏幕
- 更改第二个(activity_main)的知名度,GONE
- 加载时,标志着第一个视图(加载屏幕)的可视性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);
另一种方法将使用单独的活动/片段
不要使用两种活动,使用'Fragments'read关于它的谷歌 – Aspicas