Seekbar正确的方式

时间:2015-12-12 21:03:33

标签: android xml android-seekbar

我阅读了很多SO主题和其他教程,但我没有得到这个问题的答案:

什么是样式化(自定义)标准SeekBar的正确方法? (即:设置尺寸(高度)和颜色以进行线和拇指)

我找到了两种方法来实现这个目标:

  1. 为进度线和拇指创建.png(或.9.png)并使用它。
  2. 在drawable中创建.xml。在.xml中创建图层列表,在图层列表中 项形。
  3. __

    有人说,使用第一种方式,其他人说 - 使用第二种方式。

    什么是正确的方法?可能有一个很好的第三种方式?

    __

    我尝试第二种方法,但无法理解,如何指定进度和次要进度的大小(高度)。 我该怎么做?

    我想要的是什么:

    enter image description here

    我的SeekBar:

    <SeekBar
            android:layout_width="306dp"
            android:layout_height="wrap_content"
            android:progressDrawable="@drawable/seek_bar_progress"
            android:thumb="@drawable/seek_bar_thumb"/>
    

    seek_bar_progress.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">
            <solid android:color="#FFFFFF" />
        </shape>
    </item>
    <item android:id="@android:id/secondaryProgress">
        <shape android:shape="rectangle">
            <solid android:color="#FFFFFF" />
        </shape>
    </item>
    <item android:id="@android:id/progress">
        <shape android:shape="rectangle">
            <solid android:color="#0000FF" />
        </shape>
    </item>
    </layer-list>
    

    seek_bar_thumb.xml:

    <?xml version="1.0" encoding="utf-8"?>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
        <item >
            <shape android:shape="oval">
                <solid android:color="#0000FF"/>
                <size android:height="31dp" android:width="31dp"/>
            </shape>
        </item>
    </layer-list>
    

0 个答案:

没有答案