Reputation: 4201
I am trying to make a layout which resembles a Grid Layout, but I am restrained to Android 2.0
Does anyone have any ideas?
<?xml version="1.0" encoding="UTF-8"?>
<GridLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:columnCount="2"
android:rowCount="13" >
<TextView
android:layout_gravity="fill_horizontal"
android:text="SN : " />
<TextView
android:id="@+id/snTextView"
android:layout_gravity="fill_horizontal" />
<TextView
android:layout_gravity="fill_horizontal"
android:text="Ver : " />
<TextView
android:id="@+id/verTextView"
android:layout_gravity="fill_horizontal" />
<TextView
android:layout_gravity="fill_horizontal"
android:text="Type : " />
<TextView
android:id="@+id/typeTextView"
android:layout_gravity="fill_horizontal" />
<TextView
android:layout_gravity="fill_horizontal"
android:text="OD : " />
<TextView
android:id="@+id/odTextView"
android:layout_gravity="fill_horizontal" />
<TextView
android:text="Closing Mode"
android:layout_gravity="fill_horizontal" />
<TextView
android:id="@+id/closingModeTextView"
android:layout_gravity="fill_horizontal" />
<TextView
android:text="CT : "
android:layout_gravity="fill_horizontal" />
</GridLayout>
EDIT:
hmm, I had began coding about half an hour ago in the .xml file, I'll post the code above. To see how the first part of it looked, I went to the Graphical Layout, and the following error came up...
"com.android.layoutlib.bridge.MockView cannot be cast to android.view.ViewGroup Exception details are logged in Window>Show View> Error Log The following classes could not be found: - GridLayout( Fix Build Path, Edit XML )"
I guess it may be that something else is wrong, but in the Graphical Layout pallete GridLayout is not listed, while the rest of them are( Linear(vert/hoz), Relative, Frame, Fragment, Table, etc. )
Upvotes: 3
Views: 4341
Reputation: 16110
The GridView is one option if you want to have a layout that has equal number of columns in each row. The good side of this is that you can define a single adapter to assign it to the gridView which will hold all of your views. You can find a ton of examples on this on android.
Now the alternative is that you want a layout that will not actually have an equal number of columns in each row (same as google play app has). In this case you can still use the GridLayout. Its available in the compatibility library downloaded with the the latest one. it can be added as a library project to your application and use it exactly the same way as you use it with android 4.0+. This i think also requires the compatibility library to be added as well. I don't think you will find much documentation at this point on how to achieve adding the compatibility grid layout to your project but it is the same as adding any library project. You can find the project code in the android sdk folder under compatibility v7.
Upvotes: 2
Reputation: 45493
GridLayout
has been backported to be compatible with API level 7 and up. It's (sort of) part of the support library. After you've downloaded the support library, you'll find an Android library project in your local sdk folder located at:
<sdk_folder>\extras\android\compatibility\v7\gridlayout
Set it up as dependency of the project you're working on. After that, you'll need to make sure you point any references throughout your project to this one, and not the level 15 version, in order to support pre-ICS devices. Usage should be similar, if not identical.
See also: Grid Layout support in android API 10
Upvotes: 9