标签: android-progressbar

自定义进度条和仪表

我想创建自定义进度小部件,如图所示。经过一番研究我发现:

  • 对于针规,我可以修改这个小部件
  • 对于水平进度表,我应该自定义 Android 原生进度条。
  • 对于水指示器,我应该使用 android canvas 创建一个自定义小部件。

我的问题是:我是否使用正确的方法来创建和实现这些小部件?或者您认为任何更好的建议或教程可能会帮助我创建这些,特别是“水指示器”和自定义 Android 本机进度条。

谢谢。

自定义进度条和仪表

android gauge android-progressbar android-canvas

5
推荐指数
0
解决办法
3909
查看次数

如何让进度条循环并处于确定模式?

我必须在设备上下载一些图像和视频,并且我喜欢通过在确定模式下覆盖一个圆形进度条来跟踪进度。

问题是,无论如何,ProgressBar 仍然是不确定的。

有没有办法让它循环并处于确定模式?

布局

<ProgressBar
                android:layout_width="40dp"
                android:layout_height="40dp"
                android:progressTint="@color/colorPrimary"
                android:indeterminate="false"
                android:max="100"
                android:layout_gravity="center"
                android:id="@+id/message_media_preview_progress"
                android:visibility="gone"
                />
Run Code Online (Sandbox Code Playgroud)

代码

final ProgressBar progressBar = (ProgressBar) mView.findViewById(R.id.message_media_preview_progress);
progressBar.setVisibility(View.VISIBLE);
progressBar.setProgress(0);
storageController.downloadMedia(context, message.getVideoFile(),
        new ProgressListener<Integer>() {
            @Override
            public void onResult(Integer result) {
                progressBar.setProgress(result);
            }
        },
        new ResultListener<Boolean>() {
            @Override
            public void onResult(Boolean result) {
                if(result) {
                    progressBar.setVisibility(View.GONE);
                    setMediaClickListener(message);
                }else{
                    Toast.makeText(context,"Error downloading file",Toast.LENGTH_SHORT).show();
                }
            }
        });
Run Code Online (Sandbox Code Playgroud)

android progress-indicator android-progressbar material-design

5
推荐指数
1
解决办法
3165
查看次数

进度对话框 setContentView 在 onCreateDialog DialogFragment 中不起作用

我正在使用此代码Progressbar根据我的需要进行显示:

public class DelayedProgressDialog extends  DialogFragment
{
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
         setCancelable(false);
    }



    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState)
    {
          ProgressDialog dialog = new ProgressDialog(getActivity());
        dialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
        dialog.setTitle(null);
        dialog.setContentView(R.layout._task);
        dialog.setIndeterminate(false);
        return dialog;
    }
}
Run Code Online (Sandbox Code Playgroud)

xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
     >

    <ProgressBar
        style="?android:attr/progressBarStyleLarge"
        android:layout_width="@dimen/_100sdp"
        android:layout_height="@dimen/_100sdp"
        android:id="@+id/progressBar"
        android:layout_centerInParent="true"
        android:indeterminateTint="@android:color/white"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

现在的问题是,当我调用这个时,我的自定义进度条没有显示在这个片段中:在没有标题的左侧显示正常进度条,我想在中间显示。如果我删除了 setContentview 然后没有得到任何效果,这意味着我的自定义视图没有显示在这个里面,我怎么能在这个里面显示我的视图。

android progressdialog android-progressbar android-dialogfragment

5
推荐指数
1
解决办法
920
查看次数

圆形进度指示器忽略宽度/高度属性并且不缩放

我需要水平放置 4 个圆形进度条,如下所示:

在此处输入图片说明

所以我决定使用新的材料组件循环进度指示器(https://material.io/components/progress-indicators/android)。我在约束布局中将这 4 个进度条链接在一起,但它们不缩放。看起来他们仍然拥有默认的 24dp 尺寸。例如,即使我尝试将宽度和高度硬编码为 200dp,输出仍然是小进度条。

<com.google.android.material.progressindicator.CircularProgressIndicator
            android:id="@+id/progressBarCalories"
            style="@style/ProgressBarCircular"
            android:layout_marginTop="32dp"
            android:layout_marginStart="16dp"
            android:layout_marginEnd="6dp"
            android:layout_width="0dp"
            android:layout_height="0dp"
            app:layout_constraintDimensionRatio="1:1"
            app:layout_constraintHorizontal_chainStyle="spread"
            app:layout_constraintTop_toBottomOf="@id/wrapperCookingTime"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintEnd_toStartOf="@id/progressBarProtein"
            tools:progress="75"/>

        <com.google.android.material.progressindicator.CircularProgressIndicator
            android:id="@+id/progressBarProtein"
            style="@style/ProgressBarCircular"
            android:layout_marginTop="32dp"
            android:layout_marginStart="6dp"
            android:layout_marginEnd="6dp"
            android:layout_width="0dp"
            android:layout_height="0dp"
            app:layout_constraintDimensionRatio="1:1"
            app:layout_constraintHorizontal_chainStyle="spread"
            app:layout_constraintTop_toBottomOf="@id/wrapperCookingTime"
            app:layout_constraintStart_toEndOf="@id/progressBarCalories"
            app:layout_constraintEnd_toStartOf="@id/progressBarCarbs"
            tools:progress="75"/>

        <com.google.android.material.progressindicator.CircularProgressIndicator
            android:id="@+id/progressBarCarbs"
            style="@style/ProgressBarCircular"
            android:layout_marginTop="32dp"
            android:layout_marginStart="6dp"
            android:layout_marginEnd="6dp"
            android:layout_width="0dp"
            android:layout_height="0dp"
            app:layout_constraintDimensionRatio="1:1"
            app:layout_constraintHorizontal_chainStyle="spread"
            app:layout_constraintTop_toBottomOf="@id/wrapperCookingTime"
            app:layout_constraintStart_toEndOf="@id/progressBarProtein"
            app:layout_constraintEnd_toStartOf="@id/progressBarFat"
            tools:progress="75"/>

        <com.google.android.material.progressindicator.CircularProgressIndicator
            android:id="@+id/progressBarFat"
            style="@style/ProgressBarCircular"
            android:layout_marginTop="32dp"
            android:layout_marginStart="6dp"
            android:layout_marginEnd="16dp"
            android:layout_width="0dp"
            android:layout_height="0dp"
            app:layout_constraintDimensionRatio="1:1"
            app:layout_constraintHorizontal_chainStyle="spread"
            app:layout_constraintTop_toBottomOf="@id/wrapperCookingTime"
            app:layout_constraintStart_toEndOf="@id/progressBarCarbs"
            app:layout_constraintEnd_toEndOf="parent"
            tools:progress="75"/>

        <com.google.android.material.progressindicator.CircularProgressIndicator
            android:id="@+id/progressBar"
            style="@style/ProgressBarCircular"
            android:layout_marginTop="32dp"
            app:layout_constraintWidth_min="200dp"
            android:minWidth="200dp"
            android:layout_width="200dp"
            android:layout_height="wrap_content"
            app:layout_constraintTop_toBottomOf="@id/progressBarFat"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            tools:progress="75"/>
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

android android-progressbar kotlin progress-bar material-design

5
推荐指数
3
解决办法
1219
查看次数

如何在jetpack compose中设计多圆形进度条?

我正在尝试使用 jetpack compose 设计一个显示多个进度的进度条,但我没有找到任何库或帮助材料。我只能设计一个进度条,但我需要设计像

这个图片

android android-progressbar progress-bar android-jetpack-compose

5
推荐指数
1
解决办法
3960
查看次数

Android - 从Web(使用AsyncTask)和Progressbar相关问题获取XML数据

我使用HTTP GET/POST从Web获取XML数据.现在我已经以简单的方式完成了它(即没有威胁).

根据以下链接,我尝试使用带有线程的进度条对话框实现它 http://www.ceveni.com/2009/09/sample-progress-bar-dialog-in-android.html

但是我怎么知道从网上获取XML的结束时间(即什么应该是睡眠时间以及何时关闭进度条对话框)

让我更清楚一下我的问题=>在活动中,当用户点击"获取数据"按钮时,应出现"进度条"对话框,只有当提取成功完成时它才会消失.

我认为这可以通过" AsyncTask " 完成,但不知道如何使用该概念来解决这个问题.

那我该怎么办?

android android-progressbar

4
推荐指数
1
解决办法
3020
查看次数

Android ProgressBar .xml布局

我有一个XML文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <ProgressBar
        android:id="@+id/progressbar"
        style="?android:attr/progressBarStyleLarge"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical|center_horizontal"
        android:visibility="visible" />

    <WebView
        android:id="@+id/web_engine"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:visibility="gone" />

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

而我要的ProgressBarLarge风格,并在屏幕的中间垂直和水平居中......当我设置layout_widthheightfill_parent,它增加了实际负荷微调到整个屏幕的大小...我怎样才能让布局适合整个屏幕并居中实际加载图标?

eclipse android android-progressbar progress-bar

4
推荐指数
1
解决办法
2万
查看次数

TextView作为带有textcolor minipulation的进度条?

我正在努力改进我的应用程序的用户界面.在我正在使用的设计中,我有一个TextView,它将在某个时间充当进度条.ruslt应如下所示:

在此输入图像描述

问题是文本的一部分会在进度发生变化时改变颜色

我在android中查看了spannablestring,如果我能找到进度所涵盖的字母,它会起作用(但我不认为这很容易/准确)

我现在计划的是使用以下内容:

  • FrameLayout:
  • 背景textView与绿色文本和白色背景.
  • 前面的Linearlayout,在进行中改变宽度.
  • TextView与绿色背景和匹配framelayout宽度的白色文本.

有更好的方法吗?

user-interface animation android android-layout android-progressbar

4
推荐指数
1
解决办法
2304
查看次数

Progressbar android里面有文字

我有一个循环ProgressBar,我想要在这个圆形栏内,以百分比写出进展(如60%,或70%..)
我怎么能在圆形内做到这一点ProgressBar

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/RelativeLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

        <ProgressBar
            android:id="@+id/progressBars"
            android:layout_width="200dp"
            android:layout_height="200dp"
            android:layout_centerInParent="true"
            android:layout_centerHorizontal="true"
            android:layout_marginBottom="20dp"
            android:indeterminate="false"
            android:indeterminateDrawable="@drawable/progress_bar"
            android:max="100" />
    </RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

android android-progressbar

4
推荐指数
1
解决办法
3万
查看次数

如何在Android中的PreferenceFragment中添加进度条?

如何在PreferenceFragment中添加进度条?我有一些异步任务正在运行,它将在完成时显示我的偏好中的一些值.因此,在进行后台处理时,我计划在中心只显示一个进度条.任务完成后,我计划显示我的所有偏好.

这是我到目前为止所拥有的.

PreferenceFragment

@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.pref_account);
    }

@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    new AsyncTask<Void,Void,Void>() {

        String firstName, lastName, email;
        @Override
        protected void doInBackground() {
            // Doing something here to fetch values
        }

        @Override
        protected void onPostExecute() {
            findPreference("first_name").setSummary(firstName);
            findPreference("last_name").setSummary(lastName);
            findPreference("email").setSummary(email);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

pref_account.xml

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">

    <Preference android:key="first_name"
        android:title="@string/prompt_first_name"
        android:summary="" />

    <Preference android:key="last_name"
        android:title="@string/prompt_last_name"
        android:summary="" />

    <Preference android:key="email"
        android:title="@string/prompt_email"
        android:summary=""
        android:inputType="textEmailAddress" />

    <Preference android:key="sign_out"
        android:title="@string/action_sign_out" />

</PreferenceScreen>
Run Code Online (Sandbox Code Playgroud)

我的问题是,因为这是一个PreferenceFragment并且我没有覆盖onCreateView的方法,我应该在哪里以及如何添加进度条?

android android-progressbar preferencefragment

4
推荐指数
2
解决办法
2514
查看次数