【问题标题】:Update Horizontal Progress Bar width programmatically (In horizontal scrollview)以编程方式更新水平进度条宽度(在水平滚动视图中)
【发布时间】:2017-01-12 21:48:30
【问题描述】:

我在滚动视图中有一个进度条,我想以编程方式修改宽度,但看起来不可能,在 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();

但发现它仅适用于进度条,而不是滚动视图...

知道如何更新进度条宽度(在水平滚动视图中)?为什么滚动视图会影响进度条的宽度? 谢谢!

【问题讨论】:

  • 以后请不要删除问题,马上重新提问。
  • @CommonsWare,我这样做是因为原始问题发生了很大变化,但得到了您的评论,以后不会这样做。谢谢!
  • “我这样做是因为原始问题发生了很大变化”——这就是“编辑”链接的用途。 :-)

标签: android android-progressbar horizontalscrollview


【解决方案1】:

您没有以正确的方式设置参数。试试这个:

HorizontalScrollView.LayoutParams params = (HorizontalScrollView.LayoutParams) progressBar.getLayoutParams();
params.width = 3000;
progressBar.setLayoutParams(params);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-25
    • 1970-01-01
    • 2013-07-06
    • 2012-04-05
    • 2015-05-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多