gpt4 book ai didi

android - 如何在android中垂直跨越按钮/布局?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:15:53 32 4
gpt4 key购买 nike

我有一个类似于计算器的布局,每行有 4 个按钮,大约有 5 行。我使用 LinearLayout 创建了每一行。通过在 LinearLayout 中的每个按钮中使用 android:layout_weight="1",我设法完全填充了每一行的宽度。但我不知道如何以这种方式填充垂直空间。五行后,底部剩余空间用于普通 XDPI 屏幕(Nexus 4)

<LinearLayout
android:id="@+id/first_row"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/entry">

<Button
android:id="@+id/seven"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="1"
android:text="7"
android:textColor="@color/Blue_ICS"
android:textSize="@dimen/button_text_size"
/>

<Button
android:id="@+id/eight"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="1"
android:text="8"
android:textColor="@color/Blue_ICS"

android:textSize="@dimen/button_text_size"/>

<Button
android:id="@+id/nine"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="1"
android:text="9"

android:textColor="@color/Blue_ICS"
android:textSize="@dimen/button_text_size"/>

<Button
android:id="@+id/plus"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="1"
android:text="+"
android:textColor="@color/Blue_ICS"
android:textSize="@dimen/button_text_size"/>
</LinearLayout>

布局太长,所以我只分享第一行的代码,其余行也一样。

最佳答案

您应该使用 TableLayout,将您所有的 LinearLayout 替换为 TableRow。属性 stretchColumns 允许您使所有列具有相同的宽度而无需使用权重。这样您就可以使用权重来处理 TableRow 的高度。

在下面的示例中,我什至添加了一些空间(空 LinearLayout)来显示结果,就像计算器屏幕一样。我希望这就是您要找的! (您必须更改 ID)

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/outerLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

<LinearLayout
android:id="@+id/screenLayout"
android:layout_width="fill_parent"
android:layout_height="150dp"
android:orientation="vertical"></LinearLayout>

<TableLayout
android:id="@+id/myLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_below="@+id/screenLayout"
android:stretchColumns="*" >

<TableRow
android:id="@+id/first_row"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1" >

<Button
android:id="@+id/seven"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:text="7" />

<Button
android:id="@+id/eight"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:text="8" />

<Button
android:id="@+id/nine"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:text="9" />

<Button
android:id="@+id/plus"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:text="+" />
</TableRow>

<TableRow
android:id="@+id/first_row"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1" >

<Button
android:id="@+id/seven"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:text="4" />

<Button
android:id="@+id/eight"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:text="5" />

<Button
android:id="@+id/nine"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:text="6" />

<Button
android:id="@+id/plus"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:text="-" />
</TableRow>

<TableRow
android:id="@+id/first_row"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1" >

<Button
android:id="@+id/seven"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:text="1" />

<Button
android:id="@+id/eight"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:text="2" />

<Button
android:id="@+id/nine"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:text="3" />

<Button
android:id="@+id/plus"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:text="*" />
</TableRow>

<TableRow
android:id="@+id/first_row"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1" >

<Button
android:id="@+id/seven"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:text="0" />

<Button
android:id="@+id/eight"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:text="," />

<Button
android:id="@+id/nine"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:text="/" />

<Button
android:id="@+id/plus"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:text="=" />
</TableRow>
</TableLayout>

</RelativeLayout>

结果:

enter image description here

关于android - 如何在android中垂直跨越按钮/布局?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16911758/

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