1. 程式人生 > >常用控制元件02 圖片框與進度條

常用控制元件02 圖片框與進度條

案例一:訊息提示框

  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

  2. 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

  scaleType屬性分二種情況分析
  1.1.1 圖片比ImageView小(android08_widget03_d01_v1)
        <ImageView
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:layout_marginRight="10dp"
        android:background="#FF0000"
        android:scaleType="matrix"
        android:src="@drawable/small_image" />

  1.1.2 圖片比ImageView大(android08_widget03_d01_v2)
  1. 進度條 ProgressBar 3.1 常用屬性 style="?android:attr/progressBarStyleHorizontal" 預設為圓形 android:progress=“33” android:max=“100”

    執行緒休眠 Thread.sleep(100);//拋異常 SystemClock.sleep(100);//不會拋異常

3.2 執行緒注意事項: 不能在主執行緒中執行耗時的操作,只能在子執行緒中操作 另外,在子執行緒中不能操作主執行緒中的控制元件(ProgressBar除外) private class MyThread extends Thread{

 SubThread->MainThread    錯誤

3.3 Handler(重點、面試問得比較多) 用於執行緒之間的通訊,比如:主執行緒與子執行緒 private Handler myHandler = new Handler(){

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

  核心:
  1、toast彈框
  2、imageview
  3、進度條
  4、子執行緒訪問主執行緒(執行緒中的通訊handler)
 英文單詞

Crop matrix Inside

Android許可權大全

1.android.permission.WRITE_USER_DICTIONARY 允許應用程式向用戶詞典中寫入新詞 2.android.permission.WRITE_SYNC_SETTINGS 寫入Google線上同步設定 3.android.permission.WRITE_SOCIAL_STREAM 讀取使用者的社交資訊流 4.android.permission.WRITE_SMS 允許程式寫簡訊 5.android.permission.WRITE_SETTINGS 允許程式讀取或寫入系統設定 6.android.permission.WRITE_SECURE_SETTINGS 允許應用程式讀取或寫入安全系統設定 7.android.permission.WRITE_PROFILE 允許程式寫入個人資料資料 8.com.android.browser.permission.WRITE_HISTORY_BOOKMARKS 允許一個應用程式寫(但不可讀)使用者的瀏覽歷史和書籤 9.android.permission.WRITE_GSERVICES 允許程式修改Google服務地圖 10.android.permission.WRITE_EXTERNAL_STORAGE 允許程式寫入外部儲存,如SD卡上寫檔案 11.android.permission.WRITE_CONTACTS 寫入聯絡人,但不可讀取 12.android.permission.WRITE_CALL_LOG 允許程式寫入(但是不能讀)使用者的聯絡人資料 13.android.permission.WRITE_CALENDAR 允許程式寫入日程,但不可讀取 14.android.permission.WRITE_APN_SETTINGS 允許程式寫入網路GPRS接入點設定 15.android.permission.WAKE_LOCK 允許程式在手機螢幕關閉後後臺程序仍然執行 16.android.permission.VIBRATE 允許程式振動 17.android.permission.USE_SIP 允許程式使用SIP視訊服務 18.android.permission.USE_CREDENTIALS 允許程式請求驗證從AccountManager 19.android.permission.UPDATE_DEVICE_STATS 允許程式更新裝置狀態 20.com.android.launcher.permission.UNINSTALL_SHORTCUT 刪除快捷方式 21.android.permission.TRANSMIT_IR 允許使用裝置的紅外發射器,如果可用 22.android.permission.SYSTEM_ALERT_WINDOW 允許程式顯示系統視窗 23.android.permission.SUBSCRIBED_FEEDS_WRITE 允許程式寫入或修改訂閱內容的資料庫 24.android.permission.SUBSCRIBED_FEEDS_READ 允許程式訪問訂閱資訊的資料庫 22.android.permission.STATUS_BAR 允許程式開啟、關閉、禁用狀態列 23.android.permission.SIGNAL_PERSISTENT_PROCESSES 允許程式傳送一個永久的程序訊號 24.android.permission.SET_WALLPAPER_HINTS 允許程式設定桌布建議 25.android.permission.SET_WALLPAPER 允許程式設定桌面桌布 26.android.permission.SET_TIME_ZONE 允許程式設定系統時區 27.android.permission.SET_TIME 允許程式設定系統時間 28.android.permission.SET_PROCESS_LIMIT 允許程式設定最大的程序數量的限制 29.android.permission.SET_PREFERRED_APPLICATIONS 允許程式設定應用的引數,已不再工作具體檢視addPackageToPreferred(String) 介紹 30.android.permission.SET_POINTER_SPEED 無法被第三方應用獲得,系統許可權 31.android.permission.SET_ORIENTATION 允許程式設定螢幕方向為橫屏或標準方式顯示,不用於普通應用 32.android.permission.SET_DEBUG_APP 允許程式設定除錯程式,一般用於開發 33.android.permission.SET_ANIMATION_SCALE 允許程式設定全域性動畫縮放 34.android.permission.SET_ALWAYS_FINISH 允許程式設定程式在後臺是否總是退出 36.com.android.alarm.permission.SET_ALARM 允許程式設定鬧鈴提醒 37.android.permission.SET_ACTIVITY_WATCHER 允許程式設定Activity觀察器一般用於monkey測試 38.android.permission.SEND_SMS 允許程式傳送簡訊 39.android.permission.SEND_RESPOND_VIA_MESSAGE 允許使用者在來電的時候用你的應用進行即時的簡訊息回覆。 40.android.permission.RESTART_PACKAGES 允許程式結束任務通過restartPackage(String)方法,該方式將在外來放棄 41.android.permission.REORDER_TASKS 允許程式重新排序系統Z軸執行中的任務 42.android.permission.RECORD_AUDIO 允許程序錄制聲音通過手機或耳機的麥克 43.android.permission.RECEIVE_WAP_PUSH 允許程式接收WAP PUSH資訊 44.android.permission.RECEIVE_SMS 允許程式接收簡訊 45.android.permission.RECEIVE_MMS 允許程式接收彩信 46.android.permission.RECEIVE_BOOT_COMPLETED 允許程式開機自動執行 47.android.permission.REBOOT 允許程式重新啟動裝置 48.android.permission.READ_USER_DICTIONARY 從一個提供器中獲取資料,針對對應的提供器,應用程式需要“讀訪問許可權” 49.android.permission.READ_SYNC_STATS 允許程式讀取同步狀態,獲得Google線上同步狀態 50.android.permission.READ_SYNC_SETTINGS 允許程式讀取同步設定,讀取Google線上同步設定 51.android.permission.READ_SOCIAL_STREAM 讀取使用者的社交資訊流 52.android.permission.READ_SMS 允許程式讀取簡訊內容 53.android.permission.READ_PROFILE 訪問使用者個人資料 54.android.permission.READ_PHONE_STATE 允許程式訪問電話狀態 55.android.permission.READ_LOGS 允許程式讀取系統底層日誌 56.android.permission.READ_INPUT_STATE 允許程式讀取當前鍵的輸入狀態,僅用於系統 57.com.android.browser.permission.READ_HISTORY_BOOKMARKS 允許程式讀取瀏覽器收藏夾和歷史記錄 58.android.permission.READ_FRAME_BUFFER 允許程式讀取幀快取用於螢幕截圖 59.android.permission.READ_EXTERNAL_STORAGE 程式可以讀取裝置外部儲存空間(內建SDcard和外接SDCard)的檔案,如果您的App已經添加了“WRITE_EXTERNAL_STORAGE ”許可權 ,則就沒 必要新增讀的許可權了,寫許可權已經包含了讀許可權了。 60.android.permission.READ_CONTACTS 允許程式訪問聯絡人通訊錄資訊 61.android.permission.READ_CALL_LOG 讀取通話記錄 62.android.permission.READ_CALENDAR 允許程式讀取使用者的日程資訊 63.android.permission.PROCESS_OUTGOING_CALLS 允許程式監視,修改或放棄播出電話 64.android.permission.PERSISTENT_ACTIVITY 允許程式建立一個永久的Activity,該功能標記為將來將被移除 65.android.permission.NFC 允許程式執行NFC近距離通訊操作,用於移動支援 66.android.permission.MOUNT_UNMOUNT_FILESYSTEMS 允許程式掛載、反掛載外部檔案系統 67.android.permission.MOUNT_FORMAT_FILESYSTEMS 允許程式格式化可移動檔案系統,比如格式化清空SD卡 68.android.permission.MODIFY_PHONE_STATE 允許程式修改電話狀態,如飛航模式,但不包含替換系統撥號器介面 69.android.permission.MODIFY_AUDIO_SETTINGS 允許程式修改聲音設定資訊 70.android.permission.MEDIA_CONTENT_CONTROL 允許一個應用程式知道什麼是播放和控制其內容。不被第三方應用使用。 71.android.permission.MASTER_CLEAR 允許程式執行軟格式化,刪除系統配置資訊 72.android.permission.MANAGE_DOCUMENTS 允許一個應用程式來管理文件的訪問,通常是一個文件選擇器部分 73.android.permission.MANAGE_APP_TOKENS 管理建立、摧毀、Z軸順序,僅用於系統 74.android.permission.MANAGE_ACCOUNTS 允許程式管理AccountManager中的賬戶列表 75.android.permission.LOCATION_HARDWARE 允許一個應用程式中使用定位功能的硬體,不使用第三方應用 76.android.permission.KILL_BACKGROUND_PROCESSES 允許程式呼叫killBackgroundProcesses(String).方法結束後臺程序 77.android.permission.INTERNET 允許程式訪問網路連線,可能產生GPRS流量 78.android.permission.INTERNAL_SYSTEM_WINDOW 允許程式開啟內部視窗,不對第三方應用程式開放此許可權 79.com.android.launcher.permission.INSTALL_SHORTCUT 建立快捷方式 80.android.permission.INSTALL_PACKAGES 允許程式安裝應用 81.android.permission.INSTALL_LOCATION_PROVIDER 允許程式安裝定位提供 82.android.permission.INJECT_EVENTS 允許程式訪問本程式的底層事件,獲取按鍵、軌跡球的事件流 83.android.permission.HARDWARE_TEST 允許程式訪問硬體輔助裝置,用於硬體測試 84.android.permission.GLOBAL_SEARCH 允許程式允許全域性搜尋 85.android.permission.GET_TOP_ACTIVITY_INFO 允許一個應用程式檢索私有資訊是當前最頂級的活動,不被第三方應用使用 86.android.permission.GET_TASKS 允許程式獲取任務資訊 87.android.permission.GET_PACKAGE_SIZE 允許程式獲取應用的檔案大小 88.android.permission.GET_ACCOUNTS 允許程式訪問賬戶Gmail列表 89.android.permission.FORCE_BACK 允許程式強制使用back後退按鍵,無論Activity是否在頂層 90.android.permission.FLASHLIGHT 允許訪問閃光燈 91.android.permission.FACTORY_TEST 允許程式執行工廠測試模式 92.android.permission.EXPAND_STATUS_BAR 允許程式擴充套件或收縮狀態列 93.android.permission.DUMP 允許程式獲取系統dump資訊從系統服務 94.android.permission.DISABLE_KEYGUARD 允許程式禁用鍵盤鎖 95.android.permission.DIAGNOSTIC 允許程式到RW到診斷資源 96.android.permission.DEVICE_POWER 允許程式訪問底層電源管理 97.android.permission.DELETE_PACKAGES 允許程式刪除應用 98.android.permission.DELETE_CACHE_FILES 允許程式刪除快取檔案 99.android.permission.CONTROL_LOCATION_UPDATES 允許程式獲得行動網路定位資訊改變 100.android.permission.CLEAR_APP_USER_DATA 允許程式清除使用者資料 101.android.permission.CLEAR_APP_CACHE 允許程式清除應用快取 102.android.permission.CHANGE_WIFI_STATE 允許程式改變WiFi狀態 103.android.permission.CHANGE_WIFI_MULTICAST_STATE 允許程式改變WiFi多播狀態 104.android.permission.CHANGE_NETWORK_STATE 允許程式改變網路狀態,如是否聯網 105.android.permission.CHANGE_CONFIGURATION 允許當前應用改變配置,如定位 106.android.permission.CHANGE_COMPONENT_ENABLED_STATE 改變元件是否啟用狀態 107.android.permission.CAPTURE_VIDEO_OUTPUT 允許一個應用程式捕獲視訊輸出,不被第三方應用使用 108.android.permission.CAPTURE_SECURE_VIDEO_OUTPUT 允許一個應用程式捕獲視訊輸出。不被第三方應用使用 109.android.permission.CAPTURE_AUDIO_OUTPUT 允許一個應用程式捕獲音訊輸出。不被第三方應用使用 110.android.permission.CAMERA 允許程式訪問攝像頭進行拍照 111.android.permission.CALL_PRIVILEGED 允許程式撥打電話,替換系統的撥號器介面 112.android.permission.CALL_PHONE 允許程式從非系統撥號器裡撥打電話 113.android.permission.BROADCAST_WAP_PUSH WAP PUSH服務收到後觸發一個廣播 114.android.permission.BROADCAST_STICKY 允許程式收到廣播後快速收到下一個廣播 115.android.permission.BROADCAST_SMS 允許程式當收到簡訊時觸發一個廣播 116.android.permission.BROADCAST_PACKAGE_REMOVED 允許程式刪除時廣播 117.android.permission.BRICK 能夠禁用手機,非常危險,顧名思義就是讓手機變成磚頭 118.android.permission.BLUETOOTH_PRIVILEGED 允許應用程式配對藍芽裝置,而無需使用者互動。這不是第三方應用程式可用。 119.android.permission.BLUETOOTH_ADMIN 允許程式進行發現和配對新的藍芽裝置 120.android.permission.BLUETOOTH 允許程式連線配對過的藍芽裝置 121.android.permission.BIND_WALLPAPER 必須通過WallpaperService服務來請求,只有系統才能用 122.android.permission.BIND_VPN_SERVICE 繫結VPN服務 必須通過VpnService服務來請求,只有系統才能用 123.android.permission.BIND_TEXT_SERVICE 必須要求textservice(例如嗎 spellcheckerservice),以確保只有系統可以繫結到它。 124.android.permission.BIND_REMOTEVIEWS 必須通過RemoteViewsService服務來請求,只有系統才能用 125.android.permission.BIND_PRINT_SERVICE 必須要求由printservice,以確保只有系統可以繫結到它。 126.android.permission.BIND_NOTIFICATION_LISTENER_SERVICE 必須要求由notificationlistenerservice,以確保只有系統可以繫結到它。 127.android.permission.BIND_NFC_SERVICE 由hostapduservice或offhostapduservice必須確保只有系統可以繫結到它。 128.android.permission.BIND_INPUT_METHOD 請求InputMethodService服務,只有系統才能使用 129.android.permission.BIND_DEVICE_ADMIN 請求系統管理員接收者receiver,只有系統才能使用 130.android.permission.BIND_APPWIDGET 允許程式告訴appWidget服務需要訪問小外掛的資料庫,只有非常少的應用才用到此許可權 131.android.permission.BIND_ACCESSIBILITY_SERVICE 請求accessibilityservice服務,以確保只有系統可以繫結到它。 132.android.permission.AUTHENTICATE_ACCOUNTS 允許程式通過賬戶驗證方式訪問賬戶管理ACCOUNT_MANAGER相關資訊 133.com.android.voicemail.permission.ADD_VOICEMAIL 允許一個應用程式新增語音郵件系統 134.android.permission.ACCOUNT_MANAGER 允許程式獲取賬戶驗證資訊,主要為GMail賬戶資訊,只有系統級程序才能訪問的許可權 135.android.permission.ACCESS_WIFI_STATE 允許程式獲取當前WiFi接入的狀態以及WLAN熱點的資訊 136.android.permission.ACCESS_SURFACE_FLINGER Android平臺上底層的圖形顯示支援,一般用於遊戲或照相機預覽介面和底層模式的螢幕截圖 137.android.permission.ACCESS_NETWORK_STATE 允許程式獲取網路資訊狀態,如當前的網路連線是否有效 138.android.permission.ACCESS_MOCK_LOCATION 允許程式獲取模擬定位資訊,一般用於幫助開發者除錯應用 139.android.permission.ACCESS_LOCATION_EXTRA_COMMANDS 允許程式訪問額外的定位提供者指令 140.android.permission.ACCESS_FINE_LOCATION 允許程式通過GPS晶片接收衛星的定位資訊 141.android.permission.ACCESS_COARSE_LOCATION 允許程式通過WiFi或移動基站的方式獲取使用者錯略的經緯度資訊 142.android.permission.ACCESS_CHECKIN_PROPERTIES 允許程式讀取或寫入登記check-in資料庫屬性表的許可權

在這裡插入圖片描述