1. 程式人生 > >Android Studio的基本控制元件 圖片框與進度條

Android Studio的基本控制元件 圖片框與進度條

今日重點:
1. Toast(吐絲框);
2. ImageView;
3. ProgressBar (進度條);
4. 如何讓子執行緒成功連線主執行緒(重點)。

技術分點

  1. Toast(吐絲框);

    1.1 Toast是Android中的一種簡易的訊息提示框
    1.2 使用這個類的最簡單的方法是呼叫靜態方法構造您所需要的一切,並返回一個新的Toast物件。
    Toast toast=Toast.makeText(getApplicationContext(), “預設的Toast”, Toast.LENGTH_SHORT);
    toast.show();
    第一個引數:當前的上下文環境。可用getApplicationContext()或this
    第二個引數:要顯示的字串。也可是R.string中字串ID
    第三個引數:顯示的時間長短。Toast預設的有兩個LENGTH_LONG(長)和LENGTH_SHORT(短),也可以使用毫秒如2000ms

xml的程式碼:
這是xml的程式碼

MainAction 的程式碼:
這裡寫圖片描述

效果圖(提示的字型我改了,這是上次測試的截圖):

  1. ImageView
    2.0 注意事項:res下面的資源名不能使用大寫字母,特別是圖片資源中的圖片的檔名,會造成R.java檔案丟失,改正確後即可
    例如:smallImage.png錯誤,small_image.png正確

    2.1 scaleType(縮放型別)
    scaleType的屬性值有:matrix fitXY fitStart fitCenter fitEnd center centerCrop centerInside

            (擴大或縮小至)
    圖片寬度--------------->控制元件寬度        
    

    它們之間的區別如下:
    matrix 用矩陣來繪製(從左上角起始的矩陣區域)

    fitXY 不按比例縮放圖片,目標是把整個圖片塞滿整個View

    fitStart 把圖片按比例擴大或縮小到View的[[[寬度]]],然後置頂部顯示(圖片會完整顯示)

    fitCenter 把圖片按比例擴大或縮小到View的[[[寬度]]],然後居中顯示(圖片會完整顯示)

    fitEnd 把圖片按比例擴大或縮小到View的[[[寬度]]],然後置底部顯示(圖片會完整顯示)

    center 不縮放,將圖片按原來大小居中顯示,當圖片寬高超過View的寬高時,則擷取圖片的居中部分顯示

    centerCrop 按比例擴大(或縮小)圖片的size居中顯示,使得圖片的長寬的[[[等於或大於]]]View的長寬

    centerInside 按比例擴大(或縮小)圖片的size居中顯示,使得圖片的長寬的[[[等於或小於]]]View的長寬 (圖片會完整顯示)

    用得最多還是fitXY fitStart fitCenter fitEnd
    預設是fitCenter
    
    1. 進度條 ProgressBar
      3.1 常用屬性
      如果沒有設定進度條預設為圓形
      設定條線程式碼: style=”?android:attr/progressBarStyleHorizontal”
      設定進度條的進度: android:progress=”33”
      設定進度條的完成度: android:max=”100”

      設定執行緒休眠
      Thread.sleep(100);//如果是直接Thread就要拋異常
      SystemClock.sleep(100);//如果是直接用SystemClock就不拋異常

    2. 執行緒注意事項:
      不能在主執行緒中執行耗時的操作,只能在子執行緒中操作
      另外,在子執行緒中不能操作主執行緒中的控制元件(ProgressBar除外)

      SubThread->MainThread 錯誤

    4.1 執行緒小結
    SubThread->MainThread 錯誤
    SubThread->Handler->MainThread 正確