网格布局支持Android的API 10(Grid Layout support in androi

2019-06-23 21:11发布

我已经开发与目标API为15布局包括网格布局的应用程序。 现在,当我改变目标API 10我与电网布局和其他元素“空间”得到的问题。 Eclipse提示我下载一个支持库2.3.3,我做到了。但仍然有问题。

Answer 1:

GridLayout确实被移植到与API 7级和兼容起来。 这是支持库(在某种程度上)的一部分。 您已经下载了支持库后,你会发现在位于当地的SDK文件夹一个Android库项目:

<sdk_folder>\extras\android\compatibility\v7\gridlayout

将它设置为你工作项目的依赖。 在此之后,你需要从15级版本改变整个项目的引用,这种兼容性之一,以支持ICS预设备。 在版式文件从网格布局更改的XML android.support.v7.widget.GridLayout。 用法应该是相似的,如果不相同。

关于Space小工具:我还没有实际使用这个(还),但它似乎是东西,既可以由设置保证金/填充现有的观点或自己的通用将代替View是完全透明的。



Answer 2:

(如@MH提到的)如果使用Android Studio中,一旦你下载了支持库,你必须使用File->Import Module... ,然后选择网格布局支持的位置,这对我在这里位于: <sdk_folder>\extras\android\support\v7\gridlayout

接下来,而不是使用<Gridlayout>在你的XML布局文件,可以使用<android.support.v7.widget.GridLayout> 下面是一个例子:

<android.support.v7.widget.GridLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:useDefaultMargins="true"
    app:alignmentMode="alignBounds"
    app:columnOrderPreserved="false"
    app:columnCount="4"
>

在布局元素将引用app ,而不是android用于GridLayout的性质如上文和子元素所看到:

    <TextView
        android:textSize="32dip"
        app:layout_columnSpan="4"
        app:layout_gravity="center_horizontal"
    />

最后,网格布局支持库引用必须添加到dependencies的部分\src\build.gradle

dependencies {
    compile 'com.android.support:appcompat-v7:+'
    compile 'com.android.support:gridlayout-v7:+'
}


Answer 3:

或者另一种选择是这第三方向后兼容的实现:

这是兼容回到API级别3,如果你需要走那么远回来了,而且还包括空间小部件。



文章来源: Grid Layout support in android API 10