編輯:關於Android編程
本文實例講述了Android編程開發之seekBar采用handler消息處理操作的方法。分享給大家供大家參考,具體如下:
該案例簡單實現進度條可走,可拖拽的功能,下面請看源碼:
布局文件:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <SeekBar android:id="@+id/seekBar1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" /> </RelativeLayout>
java文件:
package com.example.lession16_seekbar;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.app.Activity;
import android.view.Menu;
import android.widget.SeekBar;
public class MainActivity extends Activity {
private SeekBar seekBar;
private static final int MAX_PROGRESS =100;
private int current_progress=10;
private static final int PRO=1;
private Handler handler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
seekBar = (SeekBar) this.findViewById(R.id.seekBar1);
seekBar.setMax(MAX_PROGRESS);
/* new Thread(new Runnable() {
@Override
public void run() {
while(true){
try {
Thread.sleep(600);
current_progress+=10;
seekBar.setProgress(current_progress);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}).start();*/
handler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what) {
case PRO:
if(current_progress>=MAX_PROGRESS){
}else{
current_progress+=1;
seekBar.incrementProgressBy(1);
handler.sendEmptyMessageDelayed(PRO, 600);
}
break;
default:
break;
}
}
};
current_progress=current_progress>0?current_progress:0;
seekBar.setProgress(current_progress);
handler.sendEmptyMessage(PRO);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
效果圖(自動走):

希望本文所述對大家Android程序設計有所幫助。
Android開發筆記(一百一十一)聊天室中的Socket通信
Socket通信基本概念對於程序開發來說,網絡通信的基礎就是Socket,但因為是基礎,所以用起來不容易,今天我們就來談談Socket通信。計算機網絡有個大名鼎鼎的TCP
gridview多選單選的實現
這篇博客呢主要是寫gridview的多選以及單選的功能,並且獲取選中的值。首先呢,我做一下聲明,這個小程序呢是我借鑒某位大神的部分代碼,按照自己的需求重新編寫了一下。本來
AndroidStudio多AppId多渠道快速打包
一直感覺AndroidStudio沒有eclipse快,但是最近由於遇到一個問題不得不將工程遷移到AndroidStudio上,遷移後之前在eclipse上所做的所有批量
Android利用ViewPager實現可滑動放大縮小畫廊效果
畫廊在很多的App設計中都有,如下圖所示:該例子是我沒事的時候寫的一個小項目,具體源碼地址請訪問https://github.com/AlexSmille/YingMi。