正確的解決GridLayout在安卓4.0以下版本中兼容問題

GridLayout是安卓 4.0版本加入的,它可以用來取代TableLayout,同時提供了自由度較大且更加使用的排版功能,給開發者帶來了福音。

然後,到真正使用時,開發者卻會遇到一個難題。  ---- 》使用Gridlayout時,會提示Gridlayout最低版本要求是Android API Level 14,也就是正式版的Android 4.0。

解決這個問題有兩種方案:

1.  第一種顯而易見,在清單文件改寫最低版本要求


最低版本要求是14:android:minSdkVersion="14",當然就可以正常使用了。

這是最簡單直接的辦法了,當然,如果你這麼做了,這個應用在4.0以下版本手機就不能正常使用了。

2.現在 4.0以下的手機不是很多,但畢竟還是有一定的量的,需要我們做出兼容,故第一種凡是不怎麼可取,萬幸的是,安卓SDK裏提供了support兼容包,我們可以利用它們來實現向下版本的兼容,在低版本手機裏獲取高版本系統的效果。

在sdk manager的目錄下,extras\android\support\下,有v4,v7等兼容包,

或許已經有人迫不及待的將v7下的android-support-v7-gridlayout.jar加到工程中去使用了,但是結果必定不是很理想。

因爲這個Gridlayout的兼容包不是這麼用的,正確的使用方式是,在v7/gridlayout下是一個安卓工程,確切的說是一個library子工程。

1,將此工程拷到你的項目的同級目錄下,(這一點需要注意,很多人導入子工程後,在自己項目add library時不能成功,顯示x號,就是這個原因)

2,將gridlayout工程import進來

3,在自己的項目上右鍵-->屬性-->android-->library裏gridlayout的子工程

4,xml中的<Gridlayout>標籤換成<android.support.v7.widget.GridLayout>,並且添加xmlns:app="http://schemas.android.com/apk/res/自己的工程包名"  

比如

xml中還有需要的是,有一些屬性需要使用 app 這個 name space:

app:orientation
app:columnCount
app:rowCount
app:alignmentMode
app:useDefaultMargins
app:columnOrderPreserved
app:rowOrderPreserved

5.再然後,在java文件裏,import android.support.v7.widget.GridLayout;

6,最後android:minSdkVersion改成低版本的,應用就可以在2.3,2.2上面使用了。

最後附上一個使用gridlayout的demo

http://download.csdn.net/detail/yeluofengchui/8845363 點擊打開鏈接


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章