如何显示"待机"屏幕

时间:2014-03-30 18:41:21

标签: android android-fragments android-view

我正在寻找一种在我的应用中显示“待机屏幕”的方法。

我有一个片段的主要活动,我在主要活动的一侧添加了一个按钮,当这个“待机”屏幕显示时,它会触发,这只不过是显示一张图片。

我已经尝试更改内容视图,它适用于设置屏幕,但是当我尝试将其设置回activity_main时,会抛出一个关于无法对片段进行充气的错误。

让我尝试以编程方式创建线性布局视图(拼写?)并使用setvisibility将此视图设置为可见,但这也不起作用。

我也看过 AlertDialog ,但我认为这不是最好的方法。

感谢您阅读

1 个答案:

答案 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));