如何控制进度条出现/消失就像加载Android片段?

Wun*_*Wun 1 android android-fragments progress-bar

我想在读取文件时实现加载进度条.

例如,有些人fileManager APP会在从SD卡读取文件时显示进度条以表示加载.

我知道它可以android:fromDegrees="0" android:toDegrees="360"用来使进度条总是转.

但在Fragment.如何在我想要它时显示进度条(加载).并关闭progressbar我想要它消失的时间?

伪代码如下:

If( ReadingFile == true ) {

//Show the progressbar

}else if( ReadingFinish == true ){

//Close the progressbar

}
Run Code Online (Sandbox Code Playgroud)

我应该写progressbar一个new Fragment.如果我想要它显示,添加fragment

还是有其他方法可以实现?

joh*_*p3r 6

你可以用两种方式做到这一点.
经典样式(旧样式)在片段和/或活动之上
显示ProgressDialog.
现代风格(新风格 - 谷歌游戏使用它)
制作一个Layout(xml),其中有一个ProgressBar在你的布局的中心和你的所有其他组件(EditText,TextView,ListView等..)应该是.
它看起来像这样.

<?xml version="1.0" encoding="utf-8"?>
Run Code Online (Sandbox Code Playgroud)

<ProgressBar 
    android:id="@+id/temp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"/>

<RelativeLayout 
    android:id="@+id/container"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
    <TextView
        .... ..../>

    <EditText 
        .... />

    <ListView ....></ListView>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

在您的Activity或Fragment中获取进度条和RelativeLayout的ID(或者您希望的任何布局)然后

if(Realfile) {
     mProgressBar.setVisibility(View.VISIBLE);
     mRelativeLayout.setVisibility(View.GONE);
}
else {
     mProgressBar.setVisibility(View.GONE);
     mRelativeLayout.setVisibility(View.VISIBLE);
}
Run Code Online (Sandbox Code Playgroud)

编辑: 你也可以使用ProgressFragment