【问题标题】:Changing Android SeekBar to draw secondary progress on top of primary progress?更改 Android SeekBar 以在主要进度之上绘制次要进度?
【发布时间】:2013-12-16 19:02:36
【问题描述】:

我想更改 android seekbar 的行为,以便辅助 android seekbar 实际上绘制在主要 android seekbar 之上。从此处列出的 ProgressBar 文档中: http://developer.android.com/reference/android/widget/ProgressBar.html#attr_android:secondaryProgress

此进度介于主要进度和 背景。

次要进度条的当前外观:

二级进度条的期望外观:

理想情况下,我想在 Android 中重写 ProgressBar.java 中的一个方法来更改绘制顺序,以便将辅助进度条绘制在主进度条之上,但我很难找到合适的区域在要覆盖的源代码中。有什么想法可以去哪里看?

我已经成功尝试使用相对布局在另一个之上绘制两个进度条,但这种方法需要创建两个控件。

【问题讨论】:

    标签: android seekbar


    【解决方案1】:

    这是一个迟到的答案,但我刚刚发现了如何做到这一点。没那么难:)

    首先看看android项目[这里]是如何定义progress drawable的。(https://github.com/android/platform_frameworks_base/blob/master/core/res/res/drawable/progress_horizontal_holo_dark.xml)

    您所要做的就是切换secondaryProgress 和progress 的顺序,使progress 在secondaryProgress 之前(位于下方),如下所示:

    <item android:id="@android:id/background"
          android:drawable="@android:drawable/progress_bg_holo_dark" />
    
    <item android:id="@android:id/progress">
        <scale android:scaleWidth="100%"
               android:drawable="@android:drawable/progress_primary_holo_dark" />
    </item>
    
    <item android:id="@android:id/secondaryProgress">
        <scale android:scaleWidth="100%"
               android:drawable="@android:drawable/progress_secondary_holo_dark" />
    </item>
    

    遗憾的是,这些资源现在不公开。因此,您必须将 progress_bg_holo_dark.9.pngprogress_primary_holo_dark.9.pngprogress_secondary_holo_dark.9.png 复制到您的项目 drawable-xhdpi 文件夹中(也可能与其他 dpi 图像相同)。

    然后像下面这样调整xml文件(只需去掉“android:”):

    <item android:id="@android:id/background"
          android:drawable="@drawable/progress_bg_holo_dark" />
    
    <item android:id="@android:id/progress">
        <scale android:scaleWidth="100%"
               android:drawable="@drawable/progress_primary_holo_dark" />
    </item>
    
    <item android:id="@android:id/secondaryProgress">
        <scale android:scaleWidth="100%"
               android:drawable="@drawable/progress_secondary_holo_dark" />
    </item>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-15
      • 2011-07-04
      • 2013-07-17
      相关资源
      最近更新 更多