Android香露刀之SeekBar之双管齐下
傳送門???Android兵器譜???轉載請注明???http://blog.csdn.net/leverage_1229
綠波香露刀?
? ? ? ? 《天龍八部》烏老大:他一說完這番話,當即擎鬼頭刀在手,綠光一閃,他身旁眾人立時聞到“綠波香露刀”的腥臭之氣。。。他料想這柄鬼頭刀大有來歷,但明明臭得厲害,偏偏叫什么“香露刀”,真是好笑。
? ? ? ? 今天我們如何利用Android平臺“綠波香露刀”SeekBar實現拖動一定范圍內的變量值功能,現實生活中經常用于拖動流媒體文件的當前播放進度和顯示網絡文件加載緩沖區。下面給出該情景的案例:
一、案例技術要點
1.SeekBar布局設置
android:max="100":設置拖動條的最大值為100
android:progress="30":設置拖動條的一級進度值(初始進度)為30
android:secondaryProgress="60":設置拖動條的二級進度值(緩存)為60
2.為SeekBar所在的Activity添加拖動條滑竿改變當前值的監聽OnSeekBarChangeListener,并且為OnSeekBarChangeListener引入該監聽。
onStartTrackingTouch(...):滑竿開始滑動時回調該方法
onStopTrackingTouch(...):滑竿結束滑動時回調該方法
二、案例代碼陳列
工程包目錄
AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.android.seekbar"android:versionCode="1"android:versionName="1.0" ><uses-sdkandroid:minSdkVersion="8"android:targetSdkVersion="15" /><applicationandroid:icon="@drawable/ic_launcher"android:label="@string/app_name" ><activityandroid:name=".SeekBarMainActivity"android:label="@string/app_name" ><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application></manifest>strings.xml<resources><string name="app_name">SeekBar拖動滑竿改變當前值</string> </resources>main.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" ><TextViewandroid:id="@+id/textview1"android:layout_width="match_parent"android:layout_height="wrap_content" /><TextViewandroid:id="@+id/textview2"android:layout_width="match_parent"android:layout_height="wrap_content" /><SeekBar android:id="@+id/seekbar1"android:layout_width="match_parent"android:layout_height="wrap_content"android:max="100"android:progress="30" /><!-- android:secondaryProgress:標示二級進度(類似緩沖區)--><SeekBar android:id="@+id/seekbar2"android:layout_width="match_parent"android:layout_height="wrap_content"android:max="100"android:progress="30"android:secondaryProgress="60" /> </LinearLayout> SeekBarMainActivity.javapackage com.android.seekbar;import android.app.Activity; import android.os.Bundle; import android.widget.SeekBar; import android.widget.TextView; import android.widget.SeekBar.OnSeekBarChangeListener;/*** SeekBar案例:拖動滑竿改變當前值* 可以設置一定范圍內的變量* @author lynnli1229*/ public class SeekBarMainActivity extends Activity implements OnSeekBarChangeListener{private TextView textView1, textView2;private SeekBar seekBar1, seekBar2;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);textView1 = (TextView) findViewById(R.id.textview1);textView2 = (TextView) findViewById(R.id.textview2);seekBar1 = (SeekBar) findViewById(R.id.seekbar1);seekBar2 = (SeekBar) findViewById(R.id.seekbar2);seekBar1.setOnSeekBarChangeListener(this);seekBar2.setOnSeekBarChangeListener(this);}//滑竿滑動時觸發@Overridepublic void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {if(seekBar.getId() == R.id.seekbar1) {textView1.setText("seekBar1的當前位置是:" + progress);} else {textView2.setText("seekBar2的當前位置是:" + progress);}}//從哪兒開始滑動@Overridepublic void onStartTrackingTouch(SeekBar seekBar) {if(seekBar.getId() == R.id.seekbar1) {textView1.setText("seekBar1的開始滑動");} else {textView2.setText("seekBar2的開始滑動");}}//從哪兒結束滑動@Overridepublic void onStopTrackingTouch(SeekBar seekBar) {if(seekBar.getId() == R.id.seekbar1) {textView1.setText("seekBar1的結束滑動");} else {textView2.setText("seekBar2的結束滑動");}} } 三、案例效果展示?
轉載于:https://www.cnblogs.com/innosight/archive/2013/06/11/3271187.html
總結
以上是生活随笔為你收集整理的Android香露刀之SeekBar之双管齐下的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: “Oracle.DataAccess.C
- 下一篇: 第三部分:Android 应用程序接口指