Mad*_*ore 26 grid layout android
我开发了一个目标API为15的应用程序.布局包括网格布局.现在,当我将Target API更改为10时,我遇到了网格布局和另一个元素"空间"的问题.Eclipse提示我下载2.3.3的支持库,我做了......但仍然有问题.
MH.*_*MH. 36
GridLayout确实已经向后移植以与API级别7及更高版本兼容.它是(某种程度上)支持库的一部分.下载支持库后,您将在本地sdk文件夹中找到位于以下位置的Android库项目:
<sdk_folder>\extras\android\compatibility\v7\gridlayout
Run Code Online (Sandbox Code Playgroud)
将其设置为您正在处理的项目的依赖项.之后,您需要将整个项目中的引用从15级版本更改为此兼容版本,以便支持pre-ICS设备.在布局文件中,将您的xml从GridLayout更改为android.support.v7.widget.GridLayout.用法应该相似,如果不相同的话.
关于Space小部件:我还没有实际使用过这个小部件,但它似乎可以通过在现有视图上设置边距/填充或者添加View完全透明的自己的通用来替换.
Jas*_*ley 18
如果使用Android Studio,一旦你下载了支持库(如提到的@MH),你必须使用File->Import Module...,然后选择GridLayout支持的位置,这对我来说就是:<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"
>
Run Code Online (Sandbox Code Playgroud)
布局中的元素将引用app而不是android上面和子元素中的GridLayout属性:
<TextView
android:textSize="32dip"
app:layout_columnSpan="4"
app:layout_gravity="center_horizontal"
/>
Run Code Online (Sandbox Code Playgroud)
最后,必须将GridLayout支持库引用添加到以下dependencies部分\src\build.gradle:
dependencies {
compile 'com.android.support:appcompat-v7:+'
compile 'com.android.support:gridlayout-v7:+'
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17332 次 |
| 最近记录: |