当我添加水平ProgressBar时,它的行为与预期一致 - 我设置了进度值并显示它.
然而,当我添加ProgressBar(圆形)时,它会旋转.就是这样.在这种形式下,它更"请等待"指示,即任何进度条,因为未显示进度值.
所以我的问题是(假设进步名称意味着进步) - 如何停止旋转并显示进度值?例如,如果我将max设置为100,并将值设置为50,我希望看到半圆弧.
换句话说,如何使循环ProgressBar表现得像水平ProgressBar,只有形状除外?
我有以下布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ProgressBar
style="@android:style/Widget.Material.ProgressBar.Large"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
我有一个Android 5.0.1不显示的Nexus 5运行ProgressBar,显然是因为风格.当我将样式设置为例如
style="@android:style/Widget.ProgressBar.Large"
Run Code Online (Sandbox Code Playgroud)
要么
style="@android:style/Widget.Holo.ProgressBar.Large"
Run Code Online (Sandbox Code Playgroud)
它显示.我有一个相同的Nexus 5也运行Android 5.0.1,显示所有ProgressBar的罚款.在开发人员选项中启用"绘制布局边框"选项,它显示它ProgressBar包含在布局中,它根本不显示.
这看起来很奇怪,有什么想法可以在这里发生什么?

android android-layout android-progressbar android-5.0-lollipop
我认为标题非常明确我的问题......所以这是我的布局:
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button
android:id="@+id/button_action"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Login" />
<ProgressBar
android:id="@+id/progress_bar"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_centerInParent="true"/>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
在android SDKs <21上没问题,ProgressBar正确地显示在Button上并且在Button中居中.但是在Android 5.0上,ProgressBar显示在 Button 后面.
因此,当您在"开发者选项"设置中激活"显示布局边界"选项时,您可以看到它已正确定位,但如果没有该选项,您将无法在屏幕上看到任何内容.
有人知道如何解决这个问题吗?我想这是一个事海拔最近推出的,但我真的不知道该怎么照顾它.为了记录,我正在使用support.v7中最近发布的Theme.AppCompat样式.
编辑:
我还尝试以编程方式应用setElevation(0)和setTranslationY(0)按钮,但它没有改变任何东西.所以我想知道它是否必须处理高程.
先谢谢你们
马蒂厄
android android-progressbar android-button android-5.0-lollipop
我的活动类扩展了android.support.v7.app.ActionBarActivity.我正在请求窗口功能并在onCreate()方法中调用setSupportProgressBarIndeterminateVisibility(),如下所示:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
supportRequestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
setContentView(R.layout.activity_main);
setSupportProgressBarIndeterminateVisibility(true);
}
Run Code Online (Sandbox Code Playgroud)
我无法理解我的代码有什么问题,以及为什么我被我的代码java.lang.NullPointerException提高了setSupportProgressBarIndeterminateVisibility().
我的gradle依赖包含:
compile 'com.android.support:appcompat-v7:21.0.0'
Run Code Online (Sandbox Code Playgroud)
有人知道如何使用API 21的support.v7操作栏中的不确定进度条吗?
android android-progressbar android-support-library android-5.0-lollipop
Android有一个标准的ProgressBar,在不确定时会有一个特殊的动画.还有很多可用的进度视图库(这里).
在我搜索过的所有内容中,我找不到办法做一件非常简单的事情:
具有从颜色X到颜色Y的渐变,水平显示,并在X坐标中移动,以便X之前的颜色将变为颜色Y.
例如(只是一个插图),如果我有一个蓝色< - >红色的渐变,从边缘到边缘,它将如此:
我在StackOverflow上尝试了一些解决方案:
但遗憾的是,它们都是关于Android的标准ProgressBar视图,这意味着它有一种不同的方式来显示drawable的动画.
我也试过在Android Arsenal网站上找到类似的东西,但即使有很多不错的东西,我找不到这样的东西.
当然,我可以自己动画2个视图,每个视图都有自己的渐变(一个与另一个相反),但我确信有更好的方法.
有可能使用Drawable或它的动画,这使得渐变(或其他任何东西)以这种方式移动(当然重复)?
也许只是从ImageView扩展并在那里制作drawable动画?
是否也可以设置容器将用于重复可绘制的多少?我的意思是,在上面的例子中,它可能是从蓝色到红色,所以蓝色将在边缘,红色将在中间.
编辑:
好的,我已经取得了一些进展,但是我不确定这个动作是否正常,而且我认为它的速度不一致,以防万一CPU有点忙,因为它不考虑帧丢失.我所做的是将2个GradientDrawables一个接一个地绘制,如下:
class HorizontalProgressView @JvmOverloads constructor(
context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0
) : View(context, attrs, defStyleAttr) {
private val speedInPercentage = 1.5f
private var xMovement: Float = 0.0f
private val rightDrawable: GradientDrawable = GradientDrawable()
private val leftDrawable: GradientDrawable = GradientDrawable()
init {
if (isInEditMode)
setGradientColors(intArrayOf(Color.RED, Color.BLUE))
rightDrawable.gradientType = GradientDrawable.LINEAR_GRADIENT;
rightDrawable.orientation …Run Code Online (Sandbox Code Playgroud) 创建不确定的横向进度条的最佳方法是什么?如果我这样做,
dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
dialog.setIndeterminate(true);
Run Code Online (Sandbox Code Playgroud)
我仍然在底部得到进度数字(百分比等).在ICS上,我可以这样做,
dialog.setProgressNumberFormat("");
dialog.setProgressPercentFormat(new NumberFormat() {
@Override
public StringBuffer format(double value, StringBuffer buffer, FieldPosition field) {
return new StringBuffer();
}
@Override
public StringBuffer format(long value, StringBuffer buffer, FieldPosition field) {
return new StringBuffer();
}
@Override
public Number parse(String string, ParsePosition position) {
return 0;
}
});
Run Code Online (Sandbox Code Playgroud)
摆脱底部的数字,但这两种方法只适用于ICS.
?谢谢
我在Android网站上阅读有关Dialogs的内容,并且我遇到了一个说"避免ProgressDialog"的部分.
这是链接:http://developer.android.com/guide/topics/ui/dialogs.html
这是否意味着他们建议不要使用它?当我的应用程序正在进行后台工作时,我真的需要一个显示进度的弹出窗口.
这是否意味着我必须使用ProgressBar类构建自己的Progress Dialog?如何构建它的方式?任何帮助表示赞赏.
android android-progressbar android-fragments android-alertdialog android-dialog
我正在尝试自定义状态栏,使其看起来像这样的图像:
但是,经过几个小时后,我所拥有的只是一个状态栏,只有我需要的背景(图2): 
我当前的代码是:xml布局:
<ProgressBar
android:id="@+id/pBarOverallStatus"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_marginLeft="10dip"
android:layout_marginRight="10dip"
android:layout_weight="94"
android:indeterminateOnly="false"
android:max="100"
android:progressDrawable="@drawable/progress_bar_states" >
</ProgressBar>
Run Code Online (Sandbox Code Playgroud)
progress_bar_states.xml:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- <item android:id="@android:id/progress">
<bitmap
android:gravity="center"
android:src="@drawable/progressbar_progressing" />
<corners android:radius="10dp" />
</item>
-->
</layer-list>
Run Code Online (Sandbox Code Playgroud)
删除注释,proressbar_progressing看起来像
然后我有一些丑陋的东西,因为没有角落. 
我从代码添加背景,如:
overallStatus = (ProgressBar) findViewById(R.id.pBarOverallStatus);
Resources res = getResources();
overallStatus.setBackgroundDrawable(res.getDrawable(R.drawable.progressbar_background));
overallStatus.setProgress(50);
Run Code Online (Sandbox Code Playgroud)
我试图为图像添加角落,但没有运气.有没有人知道我在这里做错了什么?或者我错过了什么?另外,你知道我怎么能添加左右环?资源:

我想为Android创建一个进度条.我的方形进度条有四个图像.
我正在使用android定义的进度条:
<ProgressBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@android:style/Widget.ProgressBar.Small"
android:layout_marginRight="5dp" />
Run Code Online (Sandbox Code Playgroud)
但是,如果我想制作一个正方形而不是圆形,我该怎么办呢?如何将4张图像传递到进度条?
例:
我想实现水平进度条,其步骤如下面的img所示.

我在Android中找不到这样的原生组件.任何人都可以指导我如何做到这一点?