Android學習(三)

學號 20189214 《Android程序開發》第八週學習總結

教材學習內容總結

GridView

GridView和ListView同樣是AbsListView的子類;
都須要一個Adapter來適配數據。html

下面是GridView中的一些屬性:android

  • android:columnWidth:設置列的寬度
  • android:gravity:組件對其方式
  • android:horizontalSpacing:水平方向每一個單元格的間距
  • android:verticalSpacing:垂直方向每一個單元格的間距
  • android:numColumns:設置列數
  • android:stretchMode:設置拉伸模式,可選值以下: none:不拉伸;spacingWidth:拉伸元素間的間隔空隙 columnWidth:僅僅拉伸表格元素自身 spacingWidthUniform:既拉元素間距又拉伸他們之間的間隔空襲web

    樣式和主題

    樣式

    使用style屬性能夠很方便的抽取一些屬性,不用重複寫不少相同的屬性。
    定義:數組

    主題

    主題通常解決Activity切換黑屏、白屏問題:學習

    //一、設置背景圖Theme
    spa

    //二、設置透明Theme

    1.透明度設置.net

    WindowManager.LayoutParams lp=getWindo().getAttributes();
    lp.alpha=0.5f;
    getWindow().setAttributes(lp);
    alpha在0.0f到1.0f之間。code

2.昏暗度orm

WindowManager.LayoutParams lp=getWindow().getAttributes();
lp.dimAmount=0.5f;
getWindow().setAttributes(lp);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
dimAmount在0.0f和1.0f之間。

3.背景模糊htm

getWindow().setFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND,WindowManager.LayoutParams.FLAG_BLUR_BEHIND);
View設置View view=...
view.getBackground().setAlpha(100);//0~255透明度值 ,0爲徹底透明,255爲不透明

位圖處理

加載位圖

BitmapFactory類能夠從一個文件、一個字節數組、一個Android資源或一個InputStream來構建一個Bitmap。
一、經過Bitmap的靜態方法static Bitmap createBitmap()系
| 方法名(只列出部分方法) | 用法說明|
| -------- | :----------------:|
| createBitmap(Bitmap src) | 複製位圖 |
| createBitmap(Bitmap src,int x ,int y,int w,int h) | 從源位圖src的指定座標(x,y)開始,截取寬w,高h的部分,用於建立新的位圖對象 |
| createScaledBitmap(Bitmap src,int w ,int h,boolean filter) | 對源位圖src縮放成寬爲w,高爲h的新位圖 |
| createBitmap(int w ,int h,Bitmap.Config config) | 建立一個寬w,高h的新位圖(config爲位圖的內部配置枚舉類) |
| createBitmap(Bitmap src,int x ,int y,int w,int h,Matrix m,boolean filter) | 從源位圖src的指定座標(x,y)開始,截取寬w,高h的部分,按照Matrix變換建立新的位圖對象 |
二、經過BitmapFactory工廠類的static Bitmap decodeXxx()系
| 方法名(只列出部分方法) | 用法說明|
| -------- | :----------------:|
| decodeByteArray(byte[] data, int offset, int length) | 從指定字節數組的offset位置開始,將長度爲length的數據解析成位圖 |
| decodeFile(String pathName) | 從pathName對應的文件解析成的位圖對象 |
| decodeFileDescriptor(FileDescriptor fd) |從FileDescriptor中解析成的位圖對象 |
| decodeResource(Resource res,int id) | 根據給定的資源Id解析成位圖 |
| decodeStream(InputStream in) | 把輸入流解析成位圖 |

教材學習中的問題和解決過程

問題1:位圖處理中壓縮
問題1解決方案:壓縮方法有如下質量壓縮、採樣率壓縮、縮放法壓縮、RGB_565法、createScaledBitmap等方法,也可以使用新的圖片格式webP節省資源。
位圖壓縮

代碼託管

上週考試錯題總結

問題1:Android中全部的意圖均可以用來啓動活動.
問題1解決方案:並非全部的意圖均可以用來啓動活動。
要確保一個 Intent 可以啓動一個活動,須要在將其傳遞給
startActivity 以前,調用其 resolveActivity 方法:

if (intent.resolveActivity(getPackageManager()) != null) {
                    
startActivity(intent);
}

不能解析爲一個動做的意圖,若是傳遞給了 startActivity,將會拋出一個異常。

學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
目標 5000行 30篇 400小時
第一週 150/200 2/2 20/20
第二週 200/400 1/3 20/40
第三週 100/500 1/4 10/50
第四周 200/700 1/5 15/65
第五週 1486/2186 1/6 15/80
第六週 1400/3586 1/7 18/98
第七週 1400/5000 1/8 18/116
第八週 1200/6200 1/9 15/131
  • 計劃學習時間:15小時

  • 實際學習時間:15小時

參考資料

相關文章
相關標籤/搜索