我正在寻找一种在我的应用中显示“待机屏幕”的方法。
我有一个片段的主要活动,我在主要活动的一侧添加了一个按钮,当这个“待机”屏幕显示时,它会触发,这只不过是显示一张图片。
我已经尝试更改内容视图,它适用于设置屏幕,但是当我尝试将其设置回activity_main时,会抛出一个关于无法对片段进行充气的错误。
让我尝试以编程方式创建线性布局视图(拼写?)并使用setvisibility将此视图设置为可见,但这也不起作用。
我也看过 AlertDialog ,但我认为这不是最好的方法。
感谢您阅读
答案 0 :(得分:0)
最简单的?使用不透明背景添加ImageView
或任何View
作为布局的最后一个元素,其尺寸为MATCH_PARENT
/ MATCH_PARENT
和可见性GONE
。
如果您想要展示它,只需拨打view.setVisibility(View.VISIBLE)
或view.setVisiblity(View.GONE)
即可隐藏它。它会出现在其他元素之上,这些元素将被隐藏在不透明的背景下。
View view=findViewById(R.id.yourSplashId);
显示
view.setVisibility(View.VISIBLE);
隐藏
view.setVisibility(View.GONE);
我在你的问题中看到你尝试过这种方法并且它没有用。也许您生成的View是在片段后面?
您还可以将Fragment + splash放在ViewFlipper
中<ViewFlipper>
<fragment>...</fragment>
<FrameLayout>
<imageView>
<progressbar> .. etc
</FrameLayout>
</ViewFlipper>
这有一个额外的好处,你可以设置过渡动画等。在这种情况下:
ViewFlipper myFlipper=findViewById(R.id.myFlipper);
myFlipper.setDisplayedChild(0); // fragment
myFlipper.setDisplayedChild(1); // splash
和
myFlipper.setInAnimation(AnimationUtils.loadAnimation(v.getContext(), R.anim.left_in));
myFlipper.setOutAnimation(AnimationUtils.loadAnimation(v.getContext(), R.anim.right_out));