gpt4 book ai didi

android - 如何将屏幕上的按钮水平和垂直居中加上等距?

转载 作者:IT王子 更新时间:2023-10-28 23:35:43 26 4
gpt4 key购买 nike

我一直在绞尽脑汁(这里是安卓新手,所以不难做到)试图弄清楚如何做到这一点:

enter image description here

使用 RelativeLayout 或 AbsoluteLayout 以外的其他东西,这是创建的。我来自 Windows 编程背景,设备会为您调整“绝对”定位,GUI 布局不是问题。

第一个布局在模拟器中效果很好,但不适用于我的 Nexus One 或与模拟器大小不同的任何其他屏幕。我预料到了这一点,因为它是绝对定位的,但还没有找到可以针对不同屏幕尺寸正确格式化的解决方案。我的目标是让布局适用于不同的屏幕尺寸和纵向/横向。

这是我目前使用的代码:[main.xml]

<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<Button
android:id="@+id/Button01"
android:layout_width="188px"
android:layout_height="100px"
android:text="A"
android:layout_y="50px" android:layout_x="65px" android:textSize="48sp"/>

<Button
android:id="@+id/Button02"
android:layout_width="188px"
android:layout_height="100px"
android:text="B"
android:layout_y="175px" android:layout_x="65px" android:textSize="48sp"/>

<Button
android:id="@+id/Button03"
android:layout_width="188px"
android:layout_height="100px"
android:text="C"
android:layout_y="300px" android:layout_x="65px" android:textSize="48sp"/>
</AbsoluteLayout>

在这里使用其他问题的花絮,我想出了这个,它更接近,但还没有。

<?xml version="1.0" encoding="utf-8"?>
<TableLayout
android:gravity="center"
android:id="@+id/widget49"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<Button
android:id="@+id/Button01"
android:layout_width="0dip"
android:layout_weight="1"
android:text="A"
android:textSize="48sp"/>

<Button
android:id="@+id/Button02"
android:layout_width="0dip"
android:layout_weight="1"
android:text="B"
android:textSize="48sp"/>

<Button
android:id="@+id/Button03"
android:layout_width="0dip"
android:layout_weight="1"
android:text="C"
android:textSize="48sp"/>
</TableLayout>

这是 TableLayout 的图片:

enter image description here

任何帮助/指导将不胜感激。

最佳答案

使用你们俩的建议效果很好!

对于那些感兴趣的人,这里是 RelativeLayout 格式的最终​​ main.xml 代码,它与我试图用 AbsoluteLayout 做的事情相匹配。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android"
>

<Button
android:id="@+id/Button02"
android:layout_width="188dip"
android:layout_height="100dip"
android:text="B"
android:layout_centerInParent="true"
android:textSize="48sp" android:textStyle="bold" />

<Button
android:id="@+id/Button01"
android:layout_width="188dip"
android:layout_height="100dip"
android:text="A"
android:layout_centerHorizontal="true"
android:layout_above="@id/Button02"
android:layout_marginBottom="30dip"
android:textSize="48sp" android:textStyle="bold" />

<Button
android:id="@+id/Button03"
android:layout_width="188dip"
android:layout_height="100dip"
android:text="C"
android:layout_centerHorizontal="true"
android:layout_below="@id/Button02"
android:layout_marginTop="30dip"
android:textSize="48sp" android:textStyle="bold" />

</RelativeLayout>

另外,在一个有趣的笔记上,可能会在未来帮助某人。当我修改我发布的带有这些建议的第一个代码时,我在尝试编译时收到此错误:“\res\layout\main.xml:9: error: Error: No resource found that match the given name (at ' layout_above',值为 '@id/Button02')。

通过谷歌搜索可能是什么原因,我发现由于对 Button02 的引用(通过 Button01 代码)发生在实际创建 Button02 之前,因此产生了错误。所以请注意,在最终代码中 Button02 被声明为 FIRST

关于android - 如何将屏幕上的按钮水平和垂直居中加上等距?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2614936/

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