Android控件SeekBar仿淘寶滑動驗證效果
SeekBar是一個拖動條控件,最簡單的案例就是我們的調(diào)節(jié)音量,還有音頻視頻的播放,傳統(tǒng)的SeekBar樣式,如圖

傳統(tǒng)的實現(xiàn)太簡單,不足以讓我們到能裝逼的地步。本來是打算實現(xiàn)滴滴出行滑動完成訂單的效果,可惜找不到效果圖,今天也就用淘寶的滑動驗證來作為實例

1.1 實現(xiàn)分析
SeekBar:使用progressDrawable屬性自定義SeekBar
拖動塊:使用thumb屬性更改,其實就是一張圖片
文字:使用RelativeLayout嵌套在一起
1.2 實現(xiàn)布局
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="16dp"> <SeekBar android:id="@+id/sb" android:layout_width="match_parent" android:layout_height="wrap_content" android:max="100" android:progress="0" android:progressDrawable="@drawable/seekbar_bg" android:thumb="@drawable/thumb" android:thumbOffset="0dp" /> <TextView android:id="@+id/tv" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_centerInParent="true" android:gravity="center" android:text="請按住滑塊,拖動到最右邊" android:textColor="#888888" android:textSize="14dp" /> </RelativeLayout>
其效果是

SeekBar屬性介紹
android:max:設置進度條最大的進度值
android:progress:設置當前的進度值
android:progressDrawable:設置進度條的Drawable樣式
android:thumb:設置進度條滑塊
android:thumbOffset:設置進度條滑塊的偏移量
1.3 SeekBar樣式
這里是Android:progressDrawable里面的seekbar_bg.xml
<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!--seekBar背景-->
<item android:id="@android:id/background">
<!--形狀-->
<shape android:shape="rectangle">
<!--大小-->
<size android:height="29dp" />
<!--圓角-->
<corners android:radius="2dp" />
<!--背景-->
<solid android:color="#E7EAE9" />
<!--邊框-->
<stroke
android:width="1dp"
android:color="#C3C5C4" />
</shape>
</item>
<!--seekBar的進度條-->
<item android:id="@android:id/progress">
<clip>
<shape>
<corners android:radius="2dp" />
<solid android:color="#7AC23C" />
<stroke
android:width="1dp"
android:color="#C3C5C4" />
</shape>
</clip>
</item>
</layer-list>
1.4 代碼實現(xiàn)邏輯
代碼也非常簡單,seekBar提供了一個監(jiān)聽事件OnSeekBarChangeListener,在對應的回調(diào)中實現(xiàn)文字的出現(xiàn)和消失、文本內(nèi)容的修改
public class MainActivity extends AppCompatActivity implements SeekBar.OnSeekBarChangeListener {
private TextView tv;
private SeekBar seekBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv = (TextView) findViewById(R.id.tv);
seekBar = (SeekBar) findViewById(R.id.sb);
seekBar.setOnSeekBarChangeListener(this);
}
/**
* seekBar進度變化時回調(diào)
*
* @param seekBar
* @param progress
* @param fromUser
*/
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
if (seekBar.getProgress() == seekBar.getMax()) {
tv.setVisibility(View.VISIBLE);
tv.setTextColor(Color.WHITE);
tv.setText("完成驗證");
} else {
tv.setVisibility(View.INVISIBLE);
}
}
/**
* seekBar開始觸摸時回調(diào)
*
* @param seekBar
*/
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
/**
* seekBar停止觸摸時回調(diào)
*
* @param seekBar
*/
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
if (seekBar.getProgress() != seekBar.getMax()) {
seekBar.setProgress(0);
tv.setVisibility(View.VISIBLE);
tv.setTextColor(Color.GRAY);
tv.setText("請按住滑塊,拖動到最右邊");
}
}
}
好了,今天的SeekBar的使用就到這里,如果對其他基礎(chǔ)控件感興趣的,可以關(guān)注我的博客,基礎(chǔ)控件系列,歡迎提供大家idea。
源碼下載:http://xiazai.jb51.net/201611/yuanma/Androidseekbar(jb51.net).rar
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android 解決使用SearchView時軟鍵盤不支持actionSearch的問題
本文主要介紹使用SearchView時軟鍵盤不支持actionSearch,這里提供了解決方案,希望能幫助開發(fā)Android應用的同學2016-07-07
基于DownloadManager的簡單下載器編寫小結(jié)
Android自帶的DownloadManager是一個很好的下載文件的工具。該類在API level 9之后出現(xiàn),它已經(jīng)幫我們處理了下載失敗、重新下載等功能,整個下載過程全部交給系統(tǒng)負責,不需要我們過多的處理,非常的nice。關(guān)鍵的是用起來也很簡單,稍微封裝一下就可以幾句話搞定下載2017-12-12
Android利用ViewDragHelper輕松實現(xiàn)拼圖游戲的示例
本篇文章主要介紹了Android利用ViewDragHelper輕松實現(xiàn)拼圖游戲的示例,非常具有實用價值,需要的朋友可以參考下2017-11-11
android基于SwipeRefreshLayout實現(xiàn)類QQ的側(cè)滑刪除
本篇文章主要介紹了android基于SwipeRefreshLayout實現(xiàn)類QQ的側(cè)滑刪除,非常具有實用價值,需要的朋友可以參考下2017-10-10
Android中Activity和Fragment傳遞數(shù)據(jù)的兩種方式
本篇文章主要介紹了Android中Activity和Fragment傳遞數(shù)據(jù)的兩種方式,非常具有實用價值,需要的朋友可以參考下2017-09-09
詳解Android應用開發(fā)--MP3音樂播放器代碼實現(xiàn)(一)
這篇文章主要介紹了詳解Android應用開發(fā)--MP3音樂播放器代碼實現(xiàn)(一),非常具有實用價值,需要的朋友可以參考下 。2017-01-01
基于Android中獲取資源的id和url方法總結(jié)
下面小編就為大家分享一篇基于Android中獲取資源的id和url方法總結(jié),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-02-02
Android ListView實現(xiàn)仿iPhone實現(xiàn)左滑刪除按鈕的簡單實例
下面小編就為大家?guī)硪黄狝ndroid ListView實現(xiàn)仿iPhone實現(xiàn)左滑刪除按鈕的簡單實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-08-08

