自定义seekbar中,thumb被覆盖掉一部分问题

 (图一)             (图二)        (图三)

 

做一个自定义的seekbar,更改其背景图片:

[java]  view plain copy
  1. <com.android.Progress  
  2.                 android:id="@+id/focus_seekbar"  
  3.                 android:layout_width="wrap_content"  
  4.                 android:layout_height="wrap_content"  
  5.                 android:layout_below="@id/seekbar_add"     
  6.                 android:progressDrawable="@drawable/seekbar_img"   
  7.                 android:thumb="@drawable/thumb"      
  8.                 android:max = "60"/>  
 

定义progressDrawable即为背景图片。thumb为滑块图片

如上定义xml文件,启动程序,生成如图一。 thumb滑块不能显示完全,一部分被隐藏掉。

 

增加属性:

[java]  view plain copy
  1. android:thumbOffset="0dip"  
   

即可实现thumb不被覆盖,即最下方位置如图三所示,不会出现图一情况。

网上有个竖直的VerticalSeekBar,简单说一下他的使用:

当滑块的大小比下面的背景大时,此时要设置

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

19dip即为seek_img图片的宽度。

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

[xhtml]  view plain copy
  1. <com.android.VerticalSeek  
  2.                 android:id="@+id/focus_seekbar"  
  3.                 android:layout_width="wrap_content"  
  4.                 android:layout_height="wrap_content"                  
  5.                 android:progressDrawable="@drawable/seekbar_img"    
  6.                 android:thumb="@drawable/thumb"   
  7.                 android:thumbOffset="0dip"  
  8.                 android:max = "59"  
  9.                 android:layout_centerVertical="true"                 
  10.                 android:minHeight="19dip"   
  11.                 android:maxHeight="19dip"  
  12.                 android:paddingLeft="-15dip"  
  13.                 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>

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值