自定义搜索栏进度颜色逐渐消失

时间:2016-10-25 06:33:02

标签: android android-layout android-studio android-seekbar

我正在尝试制作一个自定义搜索栏,其中有一个用于显示进度的ceratin颜色。我尝试使用xml中定义的图层列表。当我运行代码时,进度的颜色会消失。

<SeekBar
    android:id="@+id/load_money_seekbar"
    android:layout_marginTop="@dimen/margin_5dp"
    android:paddingLeft="@dimen/padding_5"
    android:paddingRight="@dimen/padding_5"
    android:paddingTop="@dimen/padding_10"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_centerHorizontal="true"
    android:indeterminate="false"
    android:splitTrack="false"
    android:thumb="@drawable/load_money_arrow"
    android:max="100"
    android:progressDrawable="@drawable/seekbar_loadmoney">     

seekbar_loadmoney.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="line">
            <stroke
                android:width="2dp"
                android:color="#bbbbbb" />
        </shape>
    </item>
    <item android:id="@android:id/secondaryProgress">
        <shape android:shape="line">
            <stroke
                android:width="2dp"
                android:color="#bbbbbb" />
        </shape>
    </item>

    <item android:id="@android:id/progress">
        <clip>
            <shape android:shape="line">
                <stroke
                    android:width="2dp"
                    android:color="#213D8D" />
            </shape>
        </clip>
    </item>
</layer-list>

请参考屏幕截图 enter image description here

1 个答案:

答案 0 :(得分:0)

经过大量的研究,我得到了答案。我希望我的搜索栏的进度能够以编程方式显示,并且用户无法更改搜索栏的进度。所以我做了这个

seekbar.setEnabled(false)

这使得搜索栏中的进度颜色逐渐消失。我们可以通过以下代码实现相同的目标而不会淡化搜索栏的进度颜色。

        seekbar.setOnTouchListener(new View.OnTouchListener(){
        @Override
        public boolean onTouch(View v, MotionEvent event) {

            return true;
        }
    });