Android 自定義seekbar中,thumb被覆蓋掉一部分問題


(圖一)  (圖二)    (圖三)

做一個自定義的seekbar,更改其背景圖片:

<com.android.Progress
                android:id="@+id/focus_seekbar"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@id/seekbar_add"   
                android:progressDrawable="@drawable/seekbar_img" 
                android:thumb="@drawable/thumb"    
                android:max = "60"/>

定義progressDrawable即為背景圖片。thumb為滑塊圖片

如上定義xml文件,啟動程序,生成如圖一。 thumb滑塊不能顯示完全,一部分被隱藏掉。

增加屬性:

android:thumbOffset="0dip"

即可實現thumb不被覆蓋,即最下方位置如圖三所示,不會出現圖一情況。

網上有個豎直的VerticalSeekBar,簡單說一下他的使用:

當滑塊的大小比下面的背景大時,此時要設置

                android:minHeight="19dip"
                android:maxHeight="19dip"

19dip即為seek_img圖片的寬度。

而控件的layout_width值即位滑塊的width和height值

<com.android.VerticalSeek
                android:id="@+id/focus_seekbar"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"                
                android:progressDrawable="@drawable/seekbar_img"  
                android:thumb="@drawable/thumb"    
                android:thumbOffset="0dip"
                android:max = "59"
                android:layout_centerVertical="true"                
                android:minHeight="19dip" 
                android:maxHeight="19dip"
                android:paddingLeft="-15dip"
                android:paddingRight="-15dip"/>

 這么個小問題,用了我半天時間才搞出來。網上資源太少了,給大家分享一下。

<?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>
            <corners android:radius="5dip" />
            <gradient
                    android:startColor="#ff364956"
                    android:centerColor="#ff444444"
                    android:centerY="0.75"
                    android:endColor="#ff00112e"
                    android:angle="90"
            />
        </shape>
    </item>
   
    <item android:id="@android:id/secondaryProgress">
       <clip>
            <shape>
                <corners android:radius="5dip" />
                <gradient
                        android:startColor="#80364956"
                        android:centerColor="#802f67a6"
                        android:centerY="0.75"
                        android:endColor="#8000112e"
                        android:angle="270"
                />
            </shape>
        </clip>
    </item>
   
    <item android:id="@android:id/progress">
        <clip>
            <shape>
                <corners android:radius="5dip" />
                <gradient
                        android:startColor="#ff9ee5ff"
                        android:centerColor="#ff9ee5ff"
                        android:centerY="0.75"
                        android:endColor="#ff9ee5ff"
                        android:angle="90"
                />
            </shape>
        </clip>
    </item>
   
</layer-list>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM