Android 프로 그래 밍 은 제목 에 표 시 된 진행 표시 줄 기능 을 실현 합 니 다.

이 사례 는 안 드 로 이 드 프로 그래 밍 이 제목 에 표 시 된 진도 바 기능 을 실현 하 는 것 을 보 여 준다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
오늘 은 안 드 로 이 드 에서 Activity 제목 에 표 시 된 진도 바 를 배 워 보 겠 습 니 다.이 예 에서 우 리 는 AsyncTask 에 관 한 지식 도 많이 배 울 수 있다.
(1)화면 에 표시 할 그림 4 장 img 01,img 02,img 03,img 04 준비
(2)Activity 의 레이아웃 파일 activitymain.xml 에서 선형 레이아웃 LinearLayout 만 정의 하고 id 를 설정 합 니 다.코드 는 다음 과 같 습 니 다.

<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"
  android:id="@+id/main_layout">
</LinearLayout>

(3)자바 코드 부분 은requestWindowFeature(Window.FEATURE_PROGRESS);문 구 를 통 해 Activity 제목 표시 줄 을 진도 있 는 스타일 로 설정 한 다음 에 MyTask 대상 을 예화 하고 시작 합 니 다.코드 는 다음 과 같 습 니 다.

public class MainActivity extends Activity {
  //  id  
  private int[] imageIds = { R.drawable.img01, R.drawable.img02,
      R.drawable.img03, R.drawable.img04 };
  private LinearLayout mainLayout;
  /**
   * Activity     
   */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //         
    requestWindowFeature(Window.FEATURE_PROGRESS);
    setContentView(R.layout.activity_main);
    mainLayout = (LinearLayout)findViewById(R.id.main_layout);
    //   MyTask     
    new MyTask().execute();
  }
  @Override
  public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;
  }
  /**
   *      AsyncTask    MyTask
   */
  class MyTask extends AsyncTask<Void, Integer, LinearLayout>{
    /**
     *  doInBackground()         
     */
    @Override
    protected void onPreExecute() {
      super.onPreExecute();
      //           
      setProgressBarVisibility(true);
    }
    /**
     *          
     */
    @Override
    protected LinearLayout doInBackground(Void... params) {
      LinearLayout ll = new LinearLayout(MainActivity.this);
      ll.setOrientation(LinearLayout.VERTICAL);
      ll.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
      for(int i=1; i<5; i++){
        ImageView iv = new ImageView(MainActivity.this);
        iv.setLayoutParams(new LayoutParams(200, 100));
        iv.setImageResource(imageIds[i-1]);
        ll.addView(iv);
        new Thread(){
          public void run() {
            try {
              //  20  
              Thread.sleep(20);
            } catch (Exception e) {
              e.printStackTrace();
            }
          };
        }.start();
        //       ,     onProgressUpdate()  
        publishProgress(i);
      }
      return ll;
    }
    /**
     *      
     */
    @Override
    protected void onProgressUpdate(Integer... values) {
      super.onProgressUpdate(values);
      //    0-10000,     2500,values[0]     1,2,3,4
      setProgress(values[0] * 2500);
    }
    /**
     *                 
     */
    @Override
    protected void onPostExecute(LinearLayout result) {
      super.onPostExecute(result);
      mainLayout.addView(result);
    }
  }
}

안 드 로 이 드 프로젝트 를 오른쪽 단추 로 실행 합 니 다.효 과 는 다음 과 같 습 니 다.

진도 조 가 실 행 된 후 인터페이스 에 네 장의 그림 이 표 시 됩 니 다.
첨부:전체 인 스 턴 스 코드 는 여 기 를 클릭 하 십시오본 사이트 다운로드
더 많은 안 드 로 이 드 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.,,,,,,,
본 고 에서 말 한 것 이 여러분 의 안 드 로 이 드 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기