2013年6月6日 星期四

(Android) :: use handler to update UI

package org.me.android_timer;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.widget.TextView;

public class MainActivity extends Activity {
    private Long startTime;
    private Handler handler = new Handler();

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        startTime = System.currentTimeMillis();
        handler.removeCallbacks(updateTimer);
        handler.postDelayed(updateTimer, 1000);
    }

    private Runnable updateTimer = new Runnable() {
        public void run() {
            final TextView time = (TextView) findViewById(R.id.timer);
            Long spentTime = System.currentTimeMillis() - startTime;
            Long minius = (spentTime/1000)/60;
            Long seconds = (spentTime/1000) % 60;
            time.setText(minius+":"+seconds);
            handler.postDelayed(this, 1000);
        }
    };
}

(Android) :: setOnScrollListener

GridView gridview = (GridView) findViewById(R.id.gridView1);

gridview.setOnScrollListener(new OnScrollListener(){

   @Override
   public void onScroll(AbsListView arg0, int arg1, int arg2, int arg3) {
    // TODO Auto-generated method stub   
   
   }
   @Override
   public void onScrollStateChanged(AbsListView arg0, int arg1) {
    // TODO Auto-generated method stub  
      
   }
  
  });

(Android) :: 取得手機螢幕長度和寬度

DisplayMetrics dm = new DisplayMetrics();


getWindowManager().getDefaultDisplay().getMetrics(dm);

int width = dm.widthPixels;   int height = dm.heightPixels;