2010-12-03 97 views
10

我想从远程位置加载图像时显示进度条(以旋转圆形或类似的形式)。如何显示某些图像的加载进度动画?

我不想在屏幕中间显示标准ProgressBar。我想在imageView(或保存ImageView的布局)的中间。有没有简单的方法来做到这一点?例如,我可以选择将progressBar附加到某个View吗?

我在阅读有关FrameAnimation的内容。我想我会这样做,但首先我要确保我不会重新发明轮子。

谢谢。

+0

呃。没关系。有一个ProgressBar控件,我可以将它放入我的布局中,并使其可视化或消失。 – bobetko 2010-12-03 16:44:33

回答

5

就可以把进度到ImageView的布局架,

的RelativeLayout - > ImageView的 - >进度

那么你可以设置布局排列PARAMS进度条来显示它在那里你想要的。

你可以在一个XML布局做到这一点,后来充气编程,所以,当你开始/停止图像下载过程中,您可以设置对进度可视性/关

+2

我也在寻找相同的功能,你能否提供一个示例代码? – h4ck3d 2013-02-18 15:24:54

17

你的意思是像一个微调?

是的,你可以这样做:

继承人的示例代码:

<!--Grey Spinner--> 
<ProgressBar 
    android:id="@android:id/progress" 
    style="?android:attr/progressBarStyleSmall" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
/> 
<!--Black Spinner--> 
<ProgressBar 
    android:id="@android:id/progress" 
    style="?android:attr/progressBarStyleSmallInverse" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
/> 

这里有一些其他的样式属性,你可以使用,只需更换上述风格的其中之一,例如属性style=?android:attr/<one of the attribute from below list>

progressBarStyleSmallTitle 
    progressBarStyleLarge 
    progressBarStyleLargeInverse 
    progressBarStyleHorizontal 
    progressBarStyleSmallTitle 

还必须注意,如果你是从互联网上下载的图像不要使用UIThread。你也可以在标题栏中添加进度条。

添加微调与下面的代码标题栏(呼叫请求。在的onCreate()):

requestWindowFeature(Window.FEATURE_PROGRESS); 
//calling setContentView() after requesting 
setContentView(R.layout.main); 
setProgressBarVisibility(true); 
//call setProgressBarVisibility(false); to turn it off 

希望这有助于。 干杯!