android-progressbar 相关问题

Android的ProgressBar小部件向用户显示可视化的工作进度指示。确定的进度条显示操作进度的程度。一个不确定的进度条只显示工作正在完成。

如何在android studio(java)中自定义进度条并根据进度改变颜色?让它看起来像我的描述

我正在构建一个用于照顾虚拟动物的应用程序,并希望通过使用进度条向用户指示它有多饱/有多饿。 我希望进度条是水平的,并带有褐色...

回答 1 投票 0

如何在Android中显示带有百分比的进度条示例

我有一个任务是添加一个带有百分比值的进度条,以便在用户想要预测某些内容时显示一个值。我没有使用 ProgressDialog,因为它现已被弃用。这里是百分比

回答 3 投票 0

如何在Android xml中自定义ProgressBar?

我需要在android中创建一个ProgressBar,如下所示: 我已经准备好 Figma UI,并且已经将可绘制对象从 svg 转换为矢量 xml。但现在我被困在这里创造我的进步的外观......

回答 1 投票 0

以编程方式更改自定义进度栏的颜色 - 已解决

我正在尝试用Java动态更改自定义ProgressBar的颜色。 这是主布局上 ProgressBar 的实现: [活动_main.xml] 我正在尝试使用Java动态更改自定义进度条的颜色。 这是主布局上ProgressBar的实现: [activity_main.xml] <ProgressBar android:id="@+id/progressBar" style="?android:attr/progressBarStyleHorizontal" android:layout_width="match_parent" android:layout_height="8dp" android:layout_marginTop="8dp" android:layout_marginBottom="8dp" android:progressDrawable="@drawable/custom_progress" android:background="@drawable/custom_progress_bar" android:max="100" android:progress="80" /> 我创建了两个单独的可绘制对象来自定义进度条,如下所示: [自定义进度条.xml 和自定义进度.xml] <!-- custom_progress_bar.xml --> <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@android:id/background"> <shape android:shape="rectangle"> <corners android:radius="8dp"/> <solid android:color="@color/white"/> </shape> </item> </layer-list> <!-- custom_progress.xml --> <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/progress_solid"> <clip> <shape android:shape="rectangle"> <corners android:radius="8dp"/> <solid android:color="@color/progress"/> </shape> </clip> </item> </layer-list> 这是应该将进度条从绿色(@color/progress)更改为红色的Java代码: [MainActivity.java] LayerDrawable layerDrawable = (LayerDrawable) ContextCompat.getDrawable(this, R.drawable.custom_progress); ClipDrawable progressSolid = (ClipDrawable) layerDrawable.findDrawableByLayerId(R.id.progress_solid); GradientDrawable gradientDrawable = new GradientDrawable(); gradientDrawable.setColor(Color.RED); progressSolid.setDrawable(gradientDrawable); progressBar.invalidate(); 这就是主题,(我将两个主题设置为完全相同): [主题.xml 和主题.xml(夜间)] <resources xmlns:tools="http://schemas.android.com/tools"> <!-- Base application theme. --> <style name="Base.Theme.CountdownCalender" parent="Theme.Material3.DayNight.NoActionBar"> <!-- Customizing the light theme here. --> <item name="colorPrimaryVariant">@color/black</item> <item name="colorPrimaryDark">@color/black</item> <item name="colorPrimary">@color/progress</item> <item name="colorOnPrimary">@color/white</item> <item name="colorSurface">@color/white</item> </style> <style name="Theme.CountdownCalender" parent="Base.Theme.CountdownCalender" /> <style name="CalenderViewDateCustomText"> <item name="colorControlActivated">@drawable/selected_day</item> <item name="android:textColor">@color/white</item> <item name="android:weekDayTextAppearance">@color/accent</item> </style> </resources> 结果: 这不是我想要的结果。我希望它变成红色,如 Java 代码所示。我缺少什么?我的副驾驶聊天机器人没有帮助..我非常感谢您的帮助。预先感谢您。 解决方案:原来我只需要这几行: LayerDrawable layerDrawable = (LayerDrawable) progressBar.getProgressDrawable(); Drawable progressFill = layerDrawable.getDrawable(1); progressFill.setColorFilter(Color.RED, PorterDuff.Mode.SRC_IN); 并替换之前的代码。我还没有研究最后一行到底是什么,但它有效。 假设 progress 是一个保存进度条引用的变量,那么您可以使用以下 Java 代码以编程方式更改进度颜色: LayerDrawable drawable = (LayerDrawable) progress.getProgressDrawable(); Drawable progressLayer = drawable.findDrawableByLayerId(android.R.id.progress); setTintList(progressLayer.mutate(), context.getResources().getColorStateList(R.color.white, context.getTheme())) Kotlin 中的等效项: val drawable = progress.progressDrawable as LayerDrawable val progressLayer = drawable.findDrawableByLayerId(android.R.id.progress) setTintList(progressLayer.mutate(), resources.getColorStateList(R.color.white, theme)) setTintLint 是来自 DrawableCompat 的静态函数。颜色应该是有效的 ColorRes 资源。 希望这有帮助。 progressBar.progressTintList = ContextCompat.getColorStateList(this, R.color.teal_700)

回答 2 投票 0

以编程方式更改自定义进度条的颜色

我正在尝试用Java动态更改自定义ProgressBar的颜色。 这是主布局上 ProgressBar 的实现: 活动主文件 我创建了两个单独的

回答 1 投票 0

Android jetpack 中音乐播放器应用程序的波浪式搜索栏

我可以在 Jetpack Compose 中的音乐播放器应用程序中实现这种类型的音乐播放器搜索栏(不在通知中,在我的实际应用程序中)吗? 如果是这样,它的名称是什么,我应该使用哪个库?

回答 1 投票 0

Android 对话框的最佳实践 - 如何避免应用程序因关闭对话框而崩溃

我在我的应用程序中使用AlertDialog,当我需要执行一些网络操作时,该对话框会向用户显示一些文本并阻止用户与应用程序交互,直到网络操作完成...

回答 5 投票 0

Android Studio 进度栏未正确更新

目前正在制作一个音乐播放器,其中有一个进度条,可以跟踪音乐播放的当前进度。然而,我已经厌倦了许多不同的方法,并且不确定是否是因为我的方式

回答 1 投票 0

Android Studio 进度条方向未保存

我目前有一个进度条可以跟踪音乐文件的进度,但是在不同的方向上它似乎不想更新并且只是停留在以前的位置? 私人计划...

回答 1 投票 0

如何使用Java改变Android中ProgressBar的速度?

我有一个进度条(圆形的)并且它旋转得非常快,我如何将其更改为以较慢的速度旋转? (它无限期地运行) 这是我的 ProgressBar 的 XML: 我有一个 ProgressBar(圆形的)并且它旋转得非常快,我如何将其更改为以较慢的速度旋转? (无限期运行) 这是我的 ProgressBar 的 XML: <ProgressBar android:id="@+id/progressBar" style="@style/Widget.AppCompat.ProgressBar" android:layout_width="409dp" android:layout_height="710dp" android:indeterminate="false" android:padding="36dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> 在 /drawable 路径下添加一个 .xml 文件,如:drawable/circular_spinner.xml 圆形旋转器: <?xml version="1.0" encoding="utf-8"?> <rotate xmlns:android="http://schemas.android.com/apk/res/android" android:drawable="@drawable/spinner" android:interpolator="@android:anim/linear_interpolator" android:fromDegrees="0" android:pivotX="50%" android:pivotY="50%" android:repeatCount="infinite" android:toDegrees="3600" android:duration="1000"/> 更改toDegrees和duration来控制旋转速度。然后在您的 progressbar 布局中调用它。 <ProgressBar android:id="@+id/progressBar" style="@style/Widget.AppCompat.ProgressBar" android:layout_width="409dp" android:layout_height="710dp" android:indeterminate="false" android:padding="36dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" android:indeterminateDrawable="@drawable/circular_spinner" app:layout_constraintTop_toTopOf="parent"/>

回答 1 投票 0

如何在Android中使用PlayerView的DefaultTimeBar outSide

我正在使用playerview,我想显示视频的进度。所以我使用了PlayerView并在playerview下面使用了LinearLayout,在LinearLayout内部我使用了PlayerView 我正在使用播放器视图,我想显示视频的进度。所以我使用了PlayerView并在playerview下面使用了LinearLayout,在LinearLayout内部我使用了PlayerView但是我不知道如何将它与Playerview连接。我不想在 Playerview 上有任何控件,它应该在playerview之外。 我的代码如下: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android:color/black" android:orientation="vertical"> <com.google.android.exoplayer2.ui.PlayerView android:id="@+id/videoView" android:layout_width="match_parent" android:layout_height="300dp" android:layout_marginLeft="50dp" android:layout_marginRight="50dp" android:background="@android:color/white" android:visibility="visible"> </com.google.android.exoplayer2.ui.PlayerView> <com.google.android.exoplayer2.ui.DefaultTimeBar android:id="@+id/exo_progress1" style="@style/Base.Widget.AppCompat.SeekBar" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> 这是我的要求 对于这种情况我有一个解决方法。这个想法是,您仍然将 DefaultTimeBar 放在 PlayerView 控制器布局内,然后手动将 DefaultTimeBar 视图移动到 PlayerView 外部,对于您的情况,它位于 LinearLayout 中。 R.layout.main <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/mainView" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android:color/black" android:orientation="vertical"> <com.google.android.exoplayer2.ui.PlayerView android:id="@+id/videoView" android:layout_width="match_parent" android:layout_height="300dp" android:layout_marginLeft="50dp" android:layout_marginRight="50dp" android:background="@android:color/white" app:controller_layout_id="@layout/exo_playback_control_view" /> </LinearLayout> R.layout.exo_playback_control_view <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"> <com.google.android.exoplayer2.ui.DefaultTimeBar android:id="@+id/exo_progress" style="@style/Base.Widget.AppCompat.SeekBar" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </RelativeLayout> 然后,在您的活动/片段中的某个位置,手动移动视图(例如,我在这里使用 Kotlin)。 val mainView = findViewById<LinearLayout>(R.id.mainView) val videoView = findViewById<PlayerView>(R.id.videoView) val defaultTimeBarView = videoView.findViewById<DefaultTimeBar>(R.id.exo_progress) val parent = defaultTimeBarView.parent as? ViewGroup parent?.removeView(defaultTimeBarView) mainView.addView(defaultTimeBarView) 但是,如果 PlayerView 的控制器视图可见性被隐藏,则进度条上仍然有奇怪的动画,但如果它可见,则进度条可以工作。

回答 1 投票 0

在Android中实现类似于iOS的旋转活动指示器

我正在尝试实现类似于我在 Android 中放置的旋转活动。我相信我应该使用 ProgressDialog。我的问题源于如何实际操纵

回答 5 投票 0

4秒内从0到100的进度条

我希望进度条在 4 秒内正好从 0 到 100,但是我记录的越多,得到的就越多。 这是我的代码 私人乐趣进度1(int:Int = 1){ if (1..100 中的整数){ 如果(int...

回答 1 投票 0

Android 自定义水平进度条

我想做一个如下图所示的进度条。我阅读了一些文档,并了解到我可以创建自己的自定义可绘制文件,并以进度栏组件的样式提供该文件以实现这一目标。乙...

回答 1 投票 0

为什么我的进度条显示在内联协程函数之后,而不是之前?

当我使用 Fuel 从平板电脑向服务器发送 HTTP 请求时,我想在相关功能开始运行之前在屏幕上显示进度栏。但不知什么原因,它发生了......

回答 1 投票 0

水平进度条 - 如何在指示器内添加标签?

我正在使用材质库的 LinearProgressIndicator 作为水平进度条。 如何在进度条指示器的指示器内添加标签? 我正在使用材质库的 LinearProgressIndicator 作为水平进度条。 如何在进度条指示器的指示器内添加标签? <com.google.android.material.progressindicator.LinearProgressIndicator android:layout_width="0dp" android:layout_height="wrap_content" android:max="100" android:progress="65" app:trackColor="@color/background_color" app:trackThickness="16dp" app:indicatorColor="@color/black"/> 看看 ProgressView 库。我想这就是您正在寻找的。

回答 1 投票 0

Android中ProgressBar的颜色可以改变吗?

我有一个非常简单的加载符号,是我在我的一个 Android 应用程序中使用 ProgressBar 创建的。加载符号如下所示: ProgressBar 的 XML 代码: 我有一个非常简单的加载符号,是我在我的一个 Android 应用程序中使用 ProgressBar 创建的。加载符号如下所示: ProgressBar的 XML 代码: <ProgressBar android:layout_width="wrap_content" android:layout_height="wrap_content" android:indeterminate="true" /> 我想为 ProgressBar 添加一些样式或使其看起来如下所示: 可以吗?如果是的话,怎么办? 任何示例代码都会非常有帮助。 您可以使用以下方法更改颜色 android:indeterminate="true" android:indeterminateTintMode="src_atop" android:indeterminateTint="@color/secondary" 并且可以使用 GIF 来设置您共享的图像的样式。您可以从https://loading.io/查看GIF示例。 使用进度栏,您可以更新一些样式,但不能像您在图像中共享的那样 如果您仍有疑问,请告诉我

回答 1 投票 0

如何使用 Kotlin 创建带有指示点的自定义进度条

我正在尝试构建一个多步骤注册表单,在每个步骤中用户输入一些数据并单击下一步/上一步按钮以转到下一步/上一步。我正在使用 Fra 来实现这个...

回答 1 投票 0

以编程方式更新水平进度条宽度(在水平滚动视图中)

我在滚动视图中有一个进度条,我想以编程方式修改宽度,但看起来这是不可能的,在xml中我只有这样的进度条: 我在滚动视图中有一个进度条,我想以编程方式修改宽度,但看起来这是不可能的,在 xml 中我只有这样的进度条: <HorizontalScrollView android:layout_width="wrap_content" android:layout_height="wrap_content"> <ProgressBar android:id="@+id/progressbar" android:layout_width="wrap_content" android:layout_height="wrap_content" style="?android:attr/progressBarStyleHorizontal" /> </HorizontalScrollView> 代码也很简单: ProgressBar progressBar = (ProgressBar) findViewById(R.id.progressbar); progressBar.setMinimumWidth(3000); progressBar.invalidate(); // tried called invalidate although setMinimumWidth called requestLayout, not help 我还尝试设置布局宽度,如下所示: progressBar.getLayoutParams().width = 3000; progressBar.invalidate(); 但发现它仅适用于进度条,不适用于滚动视图...... 如何更新进度条宽度(在水平滚动视图中)?为什么滚动视图会缺陷进度条宽度? 您没有以正确的方式设置参数。试试这个: HorizontalScrollView.LayoutParams params = (HorizontalScrollView.LayoutParams) progressBar.getLayoutParams(); params.width = 3000; progressBar.setLayoutParams(params);

回答 1 投票 0

如何在 Jetpack Compose 中使用按钮自定义进度条?

我正在尝试在 Jetpack Compose 中做这样的自定义进度条。 当我向右和向左滑动用户按钮时,它会以 0.25 的值增加和减少。第一个值将是...

回答 0 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.