2014-03-30 76 views
0

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

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

我已经尝试更改内容视图,它用于设置屏幕,但是当我尝试将其设置回activity_main时,它会抛出关于无法膨胀片段的错误。

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

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

感谢您的阅读

回答

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

我在你的问题看,你试过这种方法,并没有奏效。也许你生成的视图是在片段后面?

你也可以把你的破片飞溅+内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)); 
+0

我现在就试试看,谢谢,看起来像我正在尝试做的事,但做对了哈哈 – Pheonix2105

+0

嗯..它可以工作,但它会将所有按钮/控件等设置为不可见状态后将它们从屏幕上移开。 – Pheonix2105

+0

如果它的可见性是“GONE”而不是“INVISIBLE”,它就不应该显示。发布你的XML,这样我就可以看看 – rupps