Sharing Knowledge

« List View dan Spinne... | Main | Android Tabs UI with... »
Tuesday May 18, 2010

Create a Bar in Android

Ada 3 macam Bar di Android yaitu Progress Bar, Seek Bar dan Rating Bar.

1. ProgressBar
merupakan indikator visual dari progress operasi. Biasanya Progress Bar akan tampil ketika kita sedang melakukan proses download.

main.xml

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/hello"
    />
<ProgressBar
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/progressbar_default"
 />
<ProgressBar
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    style="?android:attr/progressBarStyleHorizontal"
    android:id="@+id/progressbar_Horizontal"
    android:max="100"
 />
</LinearLayout>

AndroidProgressBar.java
 package android.progressbar;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.widget.ProgressBar;

public class AndroidProgressBar extends Activity {
 
 ProgressBar myProgressBar;
 int myProgress = 0;
 
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        myProgressBar=(ProgressBar)findViewById(R.id.progressbar_Horizontal);
        
        new Thread(myThread).start();
    }
    
    private Runnable myThread = new Runnable(){

 
  public void run() {
   // TODO Auto-generated method stub
   while (myProgress<100){
    try{
     myHandle.sendMessage(myHandle.obtainMessage());
     Thread.sleep(1000);
    }
    catch(Throwable t){
    }
   }
  }
 
  Handler myHandle = new Handler(){

   @Override
   public void handleMessage(Message msg) {
    // TODO Auto-generated method stub
    myProgress++;  
    myProgressBar.setProgress(myProgress);
   }
   
  };
     
    };
}


                        Gambar 1 Progrees Bar


2. Seek Bar
Sebuah SeekBar merupakan perpanjangan dari ProgressBar yang menambahkan draggable. Pengguna dapat drag kiri atau kanan untuk mengatur tingkat progress dengan menggunakan tombol panah.

main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:orientation="vertical"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   >
<TextView
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:text="@string/hello"
   />
<SeekBar
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:layout_margin="10px"
   android:id="@+id/seekbar"
   android:max="100"
   android:progress="50"
   />
<TextView
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:id="@+id/seekbarvalue"
   android:text="50"
   />
</LinearLayout>
 

AndroidSeekbar.java

 package android.seekbar;

import android.app.Activity;
import android.os.Bundle;
import android.widget.SeekBar;
import android.widget.TextView;

public class AndroidSeekbar extends Activity {
   /** Called when the activity is first created. */
   @Override
   public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.main);
      
       SeekBar seekBar = (SeekBar)findViewById(R.id.seekbar);
       final TextView seekBarValue = (TextView)findViewById(R.id.seekbarvalue);
      
       seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener(){

 
   public void onProgressChanged(SeekBar seekBar, int progress,
     boolean fromUser) {
    // TODO Auto-generated method stub
    seekBarValue.setText(String.valueOf(progress));
   }


   public void onStartTrackingTouch(SeekBar seekBar) {
    // TODO Auto-generated method stub
   }

 
   public void onStopTrackingTouch(SeekBar seekBar) {
    // TODO Auto-generated method stub
   }
       });
   }
}




                              Gambar 2 Seek Bar

3. Rating Bar
Sebuah RatingBar merupakan perpanjangan dari SeekBar dan ProgressBar yang menunjukkan rating bintang. Pengguna dapat menyentuh / drag atau menggunakan tombol panah untuk mengatur rating bila menggunakan ukuran standar RatingBar.

main.xml

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:orientation="vertical"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   >
<TextView
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:text="@string/hello"
   />
<RatingBar
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   style="?android:attr/ratingBarStyleIndicator"
   android:id="@+id/ratingbar_Indicator"
   />
<RatingBar
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   style="?android:attr/ratingBarStyleSmall"
   android:id="@+id/ratingbar_Small"
   android:numStars="20"
   />
<RatingBar
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   style="?android:attr/ratingBarStyle"
   android:id="@+id/ratingbar_default"
   />
</LinearLayout>


AndroidRatingBar.java
 package android.ratingbar;

import android.app.Activity;
import android.os.Bundle;
import android.widget.RatingBar;
import android.widget.Toast;

public class AndroidRatingBar extends Activity {
   /** Called when the activity is first created. */
   @Override
   public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.main);
      
       final RatingBar ratingBar_Small = (RatingBar)findViewById(R.id.ratingbar_Small);
       final RatingBar ratingBar_Indicator = (RatingBar)findViewById(R.id.ratingbar_Indicator);
       final RatingBar ratingBar_default = (RatingBar)findViewById(R.id.ratingbar_default);
      
       ratingBar_default.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener(){

   public void onRatingChanged(RatingBar ratingBar, float rating,
     boolean fromUser) {
    // TODO Auto-generated method stub
    ratingBar_Small.setRating(rating);
    ratingBar_Indicator.setRating(rating);
    Toast.makeText(AndroidRatingBar.this, "rating:"+String.valueOf(rating),
      Toast.LENGTH_LONG).show();
   }});
   }
}



                         Gambar 3 Rating Bar



_netoya_

Comments:

kak mau nanya, itu emulatornya yang dipake atau avd nya tipe apa? n download dmana?

Posted by latief on April 10, 2011 at 06:43 AM WIT #

Post a Comment:
  • HTML Syntax: Allowed