Android技巧總結 系列一

本系列博客就是用於總結平時開發用到的技巧或者方法,用於開發者能更好的編碼,如果有幫助或者有錯誤都可以下方留言,謝謝

成功源於開始的積累

  1. String.format(“3>7是:%b”,3>7) 輸出是3>7是false
    作用:用於替換輸出,只需要更改輸入的內容,結果和根據輸入的內容去更改
  2. String result = "實時更新中,當前大盤指數<font color='red'>%d</font>" Html.fromHtml(result); 可以將文字像html一樣編寫, 返回格式spanner類型,可以通過textview的settext進行設置。作用:顯示一句話時,不同的文字不同的顏色。
  3. ViewStub是一種默認不可見的視圖,它沒有大小所以不能被改變,它可以設置layout屬性,當我們想加載對應的佈局的時候調用inflate加載,在未使用的時候消耗較低的內存。作用:優化ui加載性能,替代設置View.GONE ,不過這個只能加載一次,如果多次的情況仍然推薦使用設置View的View.GONE
  4. View 停止動畫的方法:clearAnimation()。
  5. 一般情況下我們無法在OnCreate()中獲取View的寬高,不過通過以下代碼強制測量就可以得到了
    我們在onCreate裏面得到的控件的寬高全是0。採用下面的方法,可以得到真實的寬高
    int w = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED);
    int h = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED);
    imageView.measure(w, h);
    int height =imageView.getMeasuredHeight();
    int width =imageView.getMeasuredWidth();
    textView.append("\n"+height+","+width);
  6. 對與ListView有的時候不設置寬度會導致無法點擊Item
  7. 對於類的靜態成員變量,它對於類本身和類所有的對象都是公用的,它使用的是同一塊內存空間,更改其中的一個其他的也會修改。
  8. 一個接口可以繼承多個接口.interface C extends A, B {}是可以的.
    一個類可以實現多個接口:class D implements A,B,C{}
    但是一個類只能繼承一個類,不能繼承多個類 class B extends A{}
    在繼承類的同時,也可以繼承接口:class E extends D implements A,B,C{}
    這也正是選擇用接口而不是抽象類的原因
  9. RelativeLayout 設置垂直居中此時設置marggin_top 或者marggin_bottom 仍然有效
  10. EditText有一個屬性:android:textCursorDrawable,這個屬性是用來控制光標顏色的
    android:textCursorDrawable=”@null”,”@null”作用是讓光標顏色和text color一樣,當然也可以設置爲其他顏色
  11. 如果想讓軟鍵盤不自動彈出 設置activity 屬性 android:windowSoftInputMode=”adjustUnspecified|stateHidden”
    stateUnspecified :未指定默認狀態 stateHidden:隱藏 ,默認隱藏,點擊後會顯示
    adjustUnspecified: 讓界面適應軟鍵盤的位置和大小會讓界面上移
  12. 第二種不讓軟鍵盤彈出的方法就是設置他的父佈局focusable=”true” ,軟鍵盤一樣可以不彈出。
  13. 判斷一個類是不是另一的實例(對於接口也適用)activity instanceof ISearch
  14. 如果設置的佈局用於Fragenment或者popuwindow,此時的點擊時間傳遞到了下面的佈局時,可以設置Fragement或者popuwindow的佈局android:clickable="true"
  15. List 對對應位置的操作有 add(int postion, object object) 這個是在指定位置添加,且他後面的的向後退。set(position, object object ) 設置某個位置的對象爲誰,之前的被替換。
  16. popuwindow 不支持內部再添加surfaceView
  17. include 方式導入通用佈局使用layout_width 和layout_height 會覆蓋原佈局的此屬性
  18. 對於對象的初始化設置爲null ,會節省內存。
  19. 屬性動畫可以設置多個動畫同時進行。傳統動畫只能設置一個view 的多個動畫
  20. Button可以通過設置Selector切換不同狀態的背景圖,TextView也可以通過selector去切換不同狀態的文字顏色,此時TextView 需要設置clickable=true
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章