• 一步一步学android控件(之二十五)—— SeekBar


    SeekBar扩展自ProgressBar——在ProgressBar的基础上添加了一个用户可以拖拽的thum。 SeekBar.OnSeekBarChangeListener是接收SeekBar进度改变的监听器。

    SeekBar的使用方法类似于ProgressBar,今天主要通过自定义SeekBar的样式来学习SeekBar。自定义SeekBar样式有一点与ProgressBar不同——自定义部分需要两部分android:progressDrawable="@drawable/seek_bar_style" 和android:thumb="@drawable/seek_bar_thum" 。 android:progressDrawable 用于指定水平长条的样式,android:thumb用于指定thum的样式。下图为最后的样式:


    1、seek_bar_style.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>
                <corners android:radius="10dip" />
    
                <gradient
                    android:centerColor="#ffBBBBBB"
                    android:endColor="#ffCC66FF"
                    android:startColor="#ffDDDDDD" />
            </shape>
        </item>
        <item android:id="@android:id/secondaryProgress">
            <clip>
                <shape>
                    <corners android:radius="10dip" />
    
                    <gradient
                        android:centerColor="#ffffb600"
                        android:endColor="#ffffcb00"
                        android:startColor="#ffffd300" />
                </shape>
            </clip>
        </item>
        <item android:id="@android:id/progress">
            <clip>
                <shape>
                    <corners android:radius="10dip" />
    
                    <gradient
                        android:centerColor="#ff00ff00"
                        android:endColor="#ffffffff"
                        android:startColor="#3fF0ff30" />
                </shape>
            </clip>
        </item>
    
    </layer-list>

    2、seek_bar_thum.xml

    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="oval">
        <corners
            android:radius="10dip"></corners>
        <gradient
            android:startColor="#FFff0000"
            android:centerColor="#ff00FF00"
            android:endColor="#ff003dff"
            android:type="sweep"
            android:centerX="50%"
            android:centerY="50%"></gradient>
        <size android:width="20dip"
            android:height="20dip"/>
    
    </shape>

    3、activity——WidgetSeekBarActivity,内容很简单

    package com.xy.zt.selfdefinewieget;
    
    import android.app.Activity;
    import android.os.Bundle;
    
    public class WidgetSeekBarActivity extends Activity {
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.widget_seek_bar_layout);
        }
    
    }
    


    4、在ViewData.java中添加如下内容(此部分内容可选)

    public static final int SEEK_BAR_ID = RATING_BAR_ID + 1;
        public static final String SEEK_BAR_NAME = "SeekBar";
    private static final ViewData mSeekBar = new ViewData(SEEK_BAR_NAME,
                SEEK_BAR_ID);
    View_Datas.add(mSeekBar);

    在WidgetsAdapter的handleItemClicked中添加如下内容

    case ViewData.SEEK_BAR_ID:
                    intent.setClass(mContext, WidgetSeekBarActivity.class);
                    mContext.startActivity(intent);
                    break;


    以上为SeekBar控件的全部内容,下一个控件 QuickContactBadge。


  • 相关阅读:
    《人月神话》读后感第一篇
    MD5+Salt值
    java第十三周测试记录
    今天的问题上上周考试也遇到了,解决方案在文章中。
    Jsp俩大内置对象学习
    十二周周四学术交流会报告
    web界面直连MySql数据库
    抽象类的知识
    isinstance与type的区别
    三级菜单
  • 原文地址:https://www.cnblogs.com/fuhaots2009/p/3454042.html
Copyright © 2020-2023  润新知