Android UI 컨트롤 의 ProgressBar 진행 표시 줄

우 리 는 모든 인터페이스 UI 에서 진도 항목 이 매우 중요 하 다 는 것 을 알 고 있다.왜냐하면 이것 은 사용자 에 게 비교적 뚜렷 한 시각 적 효 과 를 줄 수 있 기 때문이다.바로 사용자 의 작업 완성 상황 이다.이것 은 간단 한 완성 과 미 완성 이 아니 라 하나의 진도 방식 으로 사용자 에 게 보 여 주 는 상호작용 이 더욱 강하 다.
Android 시스템 의 진도 항목 은 어떻게 사용 합 니까?다음은 간단 한 실현 으로 관련 미화 처 리 를 하지 않 았 다.
관례 에 따라 먼저 효과 도 를 올 립 니 다.
첫 번 째:
두 번 째 장:
4.567916.그 중에서 두 원형 의 진도 조 는 어떠한 처리 도 하지 않 았 고 수평 진도 조 는 스 레 드 를 이용 하여 끊임없이 증가 하고 감소 했다.
구체 적 으로 구현 하려 면 먼저 레이아웃 파일 을 보십시오.

<LinearLayout 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:orientation="vertical"> 
 
  <TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="        "  
    android:layout_gravity="center_horizontal"/> 
 
  <ProgressBar 
    android:id="@+id/progressBar1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"  
    android:layout_gravity="center_horizontal" 
    /> 
 
  <ProgressBar 
    android:id="@+id/progressBar2" 
    style="?android:attr/progressBarStyleLarge" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"  
     android:layout_gravity="center_horizontal"/> 
 
  <ProgressBar 
    android:id="@+id/progressBar3" 
    style="?android:attr/progressBarStyleHorizontal" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_horizontal"  
    android:max="100" 
    android:minWidth="180dip" 
    android:minHeight="40dip" 
    /> 
 
</LinearLayout> 
그다음에 메 인 액 티 비 티.

package com.kiritor.ui_progressbar; 
 
import android.os.Bundle; 
import android.app.Activity; 
import android.view.Menu; 
import android.widget.ProgressBar; 
 
public class MainActivity extends Activity implements Runnable { 
 
  private ProgressBar bar = null; 
  private Thread thread = null;//        
  private boolean stateChange; 
 
  @Override 
  protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    bar = (ProgressBar) findViewById(R.id.progressBar3); 
    thread = new Thread(this); 
    thread.start(); 
  } 
 
  @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; 
  } 
 
  @Override 
  public void run() { 
    while (true) { 
      int current = bar.getProgress();//         
      int currentMax = bar.getMax();//             
      //int secCurrent = bar.getSecondaryProgress();//           
      //              ,            
      if (stateChange == false) { 
        if (current >= currentMax) { 
          stateChange = true; 
        } else { 
          //       
          bar.setProgress(current + 1); 
          //         
          bar.setSecondaryProgress(current + 1); 
        } 
      } else { 
        if (current <= 0) { 
          stateChange = false; 
        } else { 
          bar.setProgress(current - 1); 
          bar.setSecondaryProgress(current - 1); 
        } 
      } 
      try { 
        Thread.sleep(50); 
      } catch (InterruptedException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
      } 
    } 
 
  } 
} 
이상 은 진도 조 의 간단 한 용법 이다.그 후에 필 자 는'특별'진도 조,예 쁜 것,다른 것 을 실현 할 것 이다!코드 가 간단 해서 소스 코드 를 주지 않 겠 습 니 다 Over!
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기