android - 如何控制进度条的出现/消失,就像在android fragment 中加载一样?

标签 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

}

我应该将 progressbar 写到一个 new Fragment 中吗? 如果我想让它显示,请添加 fragment ?

或者有其他方法可以实现吗?

最佳答案

您可以通过两种方式做到这一点。
经典风格(旧风格)
显示 ProgressDialog在您的 fragment 和/或 Activity 之上。
现代风格(新风格 - google play 使用它)
制作一个 Layout (xml),其中在您的布局中心有一个 ProgressBar 并且您的所有其他组件(EditText、TextView、ListView 等)都应该如此是。
它看起来像这样。

<?xml version="1.0" encoding="utf-8"?>

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

在您的 Activity 或 Fragment 中获取进度条的 ID 和 RelativeLayout(或您喜欢的任何布局),然后

if(Realfile) {
     mProgressBar.setVisibility(View.VISIBLE);
     mRelativeLayout.setVisibility(View.GONE);
}
else {
     mProgressBar.setVisibility(View.GONE);
     mRelativeLayout.setVisibility(View.VISIBLE);
}

编辑: 你也可以使用 ProgressFragment

关于android - 如何控制进度条的出现/消失,就像在android fragment 中加载一样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20883677/

相关文章:

colors - JavaFX 进度条 : how to change bar color?

java - 如何将多个数据添加到 Android Firestore 中的一个文档?

android - 让 Flutter 应用全屏显示

android - 在 Android Studio 中默认打开“文本”选项卡

java - 在循环中访问按钮 id 是一个好习惯吗?

Android - 加载 fragment 实现

Android: fragment 堆栈屏幕旋转/配置已更改

java - 使用fragment_Tabbed Activity 将数据保存到Sqlite 数据库

c# - backgroundworker+wpf -> 卡住窗口

javascript - 带进度条的 slider 上的 Jquery setInterval