SeekBar进度条,且不是从0开始,也可以是

package com.example.administrator.jindutiao;

import android.app.Activity;
import android.databinding.DataBindingUtil;
import android.graphics.drawable.ClipDrawable;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.SeekBar;

import com.example.administrator.jindutiao.databinding.ActivityMainBinding;

public class MainActivity extends Activity {
    ActivityMainBinding dv;
    private int myProgress=60;
    int max=80;
    int min=20;
//    ClipDrawable clipDrawable;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
//        setContentView(R.layout.activity_main);
        dv= DataBindingUtil.setContentView(this,R.layout.activity_main);
        //设置进度条且是从20-80
        dv.seekBar.setMax(max-min);
        dv.seekBar.setProgress(myProgress-20);
        dv.progressShow.setText(myProgress+"");
        dv.seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {

            //通知进度已经被修改。客户端可以使用fromUser参数区分用户触发的改变还是编程触发的改变。
            @Override
            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
                dv.progressShow.setText(progress+20+"");
                myProgress=progress+20;
            }
            //通知用户已经开始一个触摸拖动手势。客户端可能需要使用这个来禁用seekbar的滑动功能。
            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {

            }
            //通知用户触摸手势已经结束。客户端可能需要使用这个来启用seekbar的滑动功能。
            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {

            }
        });
        dv.dreceass.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                myProgress--;
                dv.seekBar.setProgress(myProgress-20);
                dv.progressShow.setText(myProgress+"");
            }
        });
//       clipDrawable= (ClipDrawable) dv.clipIv.getDrawable();


        dv.add.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                myProgress++;
                dv.seekBar.setProgress(myProgress-20);
                dv.progressShow.setText(myProgress+"");


            }
        });

    }
}

 

布局文件如下:

<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center_horizontal"
        android:orientation="vertical"
        >
        <ScrollView
            android:id="@+id/scrollow"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"

            android:background="@color/color_f0">
            <LinearLayout
                android:id="@+id/deal_detail"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@color/colorThemeWhite"
                android:orientation="vertical">
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/colorThemeWhite"
        >
        <TextView
            android:id="@+id/zhi_sun_txt"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="18dip"
            android:layout_centerHorizontal="true"
            android:text="止损:"
            />
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="18dip"
            android:layout_toRightOf="@+id/zhi_sun_txt"
            android:textColor="@color/green"
            android:text="不限"
            />
    </RelativeLayout>
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="35dp"
            android:layout_marginLeft="16dp"
            android:layout_marginTop="10dip"
            android:layout_marginRight="16dip"
            android:gravity="center_vertical"
            android:background="@drawable/shape_co_5_st_e0"
            android:orientation="horizontal">

            <FrameLayout
                android:id="@+id/dreceass"
                android:layout_width="35dp"
                android:layout_height="match_parent">

                <View
                    android:layout_width="match_parent"
                    android:layout_height="2dp"
                    android:layout_gravity="center"
                    android:layout_marginLeft="10dp"
                    android:layout_marginRight="10dp"
                    android:background="@color/color_cb" />

            </FrameLayout>

            <View
                android:layout_width="1dp"
                android:layout_height="match_parent"
                android:background="@color/color_e0" />
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"

                android:layout_marginLeft="5dip"

                android:text="不限"
                android:gravity="center"
                android:textColor="@color/color_7f"
                android:textSize="14dip" />
            <SeekBar
                android:id="@+id/seek_bar"
                android:layout_width="0dip"
                android:layout_weight="1"
                android:layout_height="wrap_content"

                android:layout_marginLeft="10dip"
                android:layout_marginRight="10dip"
                android:maxHeight="2dip"

                android:thumbOffset="0dip"
                android:background="@color/transparent"
                android:progressDrawable="@drawable/seek_bar_bg"
                android:thumb="@drawable/seek_bar_thum"
                />
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"


                android:layout_marginRight="5dip"
                android:text="80点"
                android:gravity="center"
                android:textColor="@color/color_7f"
                android:textSize="14dip" />
            <View
                android:layout_width="1dp"
                android:layout_height="match_parent"
                android:background="@color/color_e0" />

            <FrameLayout
                android:id="@+id/add"
                android:layout_width="35dp"
                android:layout_height="match_parent"
                >

                <View
                    android:layout_width="match_parent"
                    android:layout_height="2dp"
                    android:layout_gravity="center"
                    android:layout_marginLeft="10dp"
                    android:layout_marginRight="10dp"
                    android:background="@color/color_cb" />

                <View
                    android:layout_width="2dp"
                    android:layout_height="match_parent"
                    android:layout_gravity="center"
                    android:layout_marginBottom="10dp"
                    android:layout_marginTop="10dp"
                    android:background="@color/color_cb" />

            </FrameLayout>

        </LinearLayout>
        <LinearLayout
            android:visibility="gone"
            android:layout_width="match_parent"
            android:layout_height="35dp"
            android:layout_marginLeft="16dp"
            android:layout_marginTop="10dip"
            android:layout_marginRight="16dip"
            android:layout_marginBottom="10dip"
            android:gravity="center_vertical"
            android:layout_gravity="center_vertical"
            android:background="@drawable/shape_co_5_st_e0"
            android:orientation="horizontal">

            <FrameLayout
                android:id="@+id/zhi_sun_decrease"
                android:layout_width="35dp"
                android:layout_height="match_parent">

                <View
                    android:layout_width="match_parent"
                    android:layout_height="2dp"
                    android:layout_gravity="center"
                    android:layout_marginLeft="10dp"
                    android:layout_marginRight="10dp"
                    android:background="@color/color_cb" />

            </FrameLayout>

            <View
                android:layout_width="1dp"
                android:layout_height="match_parent"
                android:background="@color/color_e0" />
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"

                android:layout_marginLeft="5dip"

                android:text="不限"
                android:gravity="center"
                android:textColor="@color/color_7f"
                android:textSize="14dip" />
            <SeekBar
                android:id="@+id/zhi_sun_seek_bar"
                android:layout_width="0dip"
                android:layout_weight="1"
                android:layout_height="wrap_content"

                android:layout_marginLeft="10dip"
                android:layout_marginRight="10dip"
                android:maxHeight="1dip"

                android:thumbOffset="0dip"
                android:background="@color/transparent"
                android:progressDrawable="@drawable/seek_bar_bg_red"
                android:thumb="@drawable/seek_bar_thum_red"
                />
            <TextView
                android:id="@+id/zhi_sun_show_txt"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"


                android:layout_marginRight="5dip"
                android:text="--"
                android:gravity="center"
                android:textColor="@color/color_7f"
                android:textSize="14dip" />
            <View
                android:layout_width="1dp"
                android:layout_height="match_parent"
                android:background="@color/color_e0" />

            <FrameLayout
                android:id="@+id/zhi_sun_add"
                android:layout_width="35dp"
                android:layout_height="match_parent">

                <View
                    android:layout_width="match_parent"
                    android:layout_height="2dp"
                    android:layout_gravity="center"
                    android:layout_marginLeft="10dp"
                    android:layout_marginRight="10dp"
                    android:background="@color/color_cb" />

                <View
                    android:layout_width="2dp"
                    android:layout_height="match_parent"
                    android:layout_gravity="center"
                    android:layout_marginBottom="10dp"
                    android:layout_marginTop="10dp"
                    android:background="@color/color_cb" />

            </FrameLayout>

        </LinearLayout>
        <TextView
            android:id="@+id/progress_show"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dip"
            android:layout_marginLeft="5dip"

            android:text="--"
            android:gravity="center"
            android:textColor="@color/color_7f"
            android:textSize="24dip" />
        
            </LinearLayout>
        </ScrollView>
    </RelativeLayout>
</layout>
seek_bar_bg文件如下
<?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" />
            <!-- angle 是角度 -->
            <gradient
                android:angle="270"
                android:centerColor="@color/color_7f_trans_7f"
                android:centerY="0.75"
                android:endColor="@color/color_7f_trans_7f"
                android:startColor="@color/color_7f_trans_7f" />
        </shape>
    </item>

    <!--拖动的第一进度条 -->
<!--由于进度条拖动的时候颜色与没有拖动所占有的颜色不一样,所以需要clip(裁剪)属性来设置,不然就没有颜色之间的差异 -->

    <item android:id="@android:id/progress">
        <clip>
            <shape>
                <corners android:radius="1dip" />

                <gradient
                    android:angle="270"
                    android:centerColor="@color/green"
                    android:centerY="0.75"
                    android:endColor="@color/green"
                    android:startColor="@color/green" />
            </shape>
        </clip>
    </item>

    <!-- 第二进度条 -->
    <!--  <item android:id="@android:id/secondaryProgress">
         <clip>
             <shape>
                 <corners android:radius="5dp" />

                 <gradient
                     android:angle="270"
                     android:centerColor="#545454"
                     android:centerY="0.75"
                     android:endColor="#545454"
                     android:startColor="#545454" />
             </shape>
         </clip>
     </item> -->
</layer-list>
seek_bar_thum文件如下:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- 按下状态-->
    <item
        android:state_focused="true"
        android:state_pressed="true"
        android:drawable="@drawable/circle" />
    <!-- 普通无焦点状态 -拖动按钮-->
    <item
        android:state_focused="false"
        android:state_pressed="false"
        android:drawable="@drawable/circle" />
    <!-- 有焦点状态-->
    <item
        android:state_focused="true"
        android:state_pressed="false"
        android:drawable="@drawable/circle" />
    <!-- 有焦点 -->
    <item
        android:state_focused="true"
        android:drawable="@drawable/circle"/>

</selector>

circle文件如下:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:shape="oval">
    <!--<stroke-->
        <!--android:width="1dp"-->
        <!--android:color="@color/custom_color"-->
        <!--tools:targetApi="ice_cream_sandwich" />-->
    <!--<corners android:radius="8dp" />-->
    <size
        android:width="15dp"
        android:height="15dp" />
    <solid android:color="@color/green"/>
</shape>

效果图如下:

发布了13 篇原创文章 · 获赞 1 · 访问量 2910
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览