gpt4 book ai didi

android - 低于21的API如何在GridLayout中使用布局权重

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:26:02 25 4
gpt4 key购买 nike

我想使用 GridLayout 均匀分布 8 个按钮。我想支持小于21的API(这是GridLayout中支持layout_columnWeightlayout_rowWeight的最小数量)

这是我的代码

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="tk.adamnafie.basicphrases.MainActivity"
android:background="@drawable/background">

<GridLayout
android:layout_width="match_parent"
android:layout_height="match_parent">

<Button
android:layout_column="0"
android:layout_row="0"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:layout_gravity="fill"
android:id="@+id/button1"
android:onClick="talk"
android:text="Good Morning"
android:layout_width="150dp" />

<Button
android:layout_column="1"
android:layout_row="0"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:layout_gravity="fill"
android:id="@+id/button2"
android:onClick="talk"
android:text="Good Afternoon"
android:layout_width="150dp" />

<Button
android:layout_column="0"
android:layout_row="1"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:layout_gravity="fill"
android:id="@+id/button3"
android:onClick="talk"
android:text="Good night"
android:layout_width="150dp" />

<Button
android:layout_column="1"
android:layout_row="1"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:layout_gravity="fill"
android:id="@+id/button4"
android:onClick="talk"
android:text="How are you?"
android:layout_width="150dp" />

<Button
android:layout_column="0"
android:layout_row="2"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:layout_gravity="fill"
android:id="@+id/button5"
android:onClick="talk"
android:layout_width="150dp"
android:text="Can you talk English?" />

<Button
android:layout_column="1"
android:layout_row="2"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:layout_gravity="fill"
android:id="@+id/button6"
android:onClick="talk"
android:layout_width="150dp"
android:text="I am learning German" />

<Button
android:layout_column="0"
android:layout_row="3"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:layout_gravity="fill"
android:id="@+id/button7"
android:onClick="talk"
android:layout_width="150dp"
android:text="Where do you live?" />

<Button
android:layout_column="1"
android:layout_row="3"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:layout_gravity="fill"
android:id="@+id/button8"
android:onClick="talk"
android:layout_width="150dp"
android:text="I come from Egypt" />

</GridLayout>
</RelativeLayout>

我想支持 Android 4.0 作为最低 SDK。有没有简单的方法来做到这一点?

最佳答案

您可以使用 GridView 的支持库版本,它将功能向后移植到早期的 Android 版本。在您的 build.gradle(模块)中,您需要以下依赖项:

compile "com.android.support:support-v4:23.1.1"
compile "com.android.support:gridlayout-v7:23.1.1"

然后在您使用的 xml 布局文件中:

<android.support.v7.widget.GridLayout
android:layout_width="match_parent"
android:layout_height="match_parent">

<Button
app:layout_column="0"
app:layout_row="0"
app:layout_columnWeight="1"
app:layout_rowWeight="1"
app:layout_gravity="fill"
android:id="@+id/button1"
android:onClick="talk"
android:text="Good Morning"
android:layout_width="150dp" />

您还需要将应用命名空间添加到包含布局

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"

关于android - 低于21的API如何在GridLayout中使用布局权重,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34694422/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com