线性布局按钮之间的垂直空间“权重”

Posted

技术标签:

【中文标题】线性布局按钮之间的垂直空间“权重”【英文标题】:Vertically Space "Weight" between Linear Layout Buttons 【发布时间】:2021-08-19 10:05:05 【问题描述】:

我想知道如何在按钮之间垂直添加空间,我在跟着教练,他屏幕上的按钮看起来不错。另外,当我下载他的项目文件时,问题仍然存在。

我是 XML 中这种权重技术的新手。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_
    android:layout_
    tools:context=".MainActivity"
    android:orientation="vertical">

    <TextView
        android:id="@+id/tvInput"
        android:layout_
        android:layout_
        android:background="#EFEFEF"
        android:textSize="48sp"
        android:maxLength="12"
        />

    <LinearLayout
        android:layout_
        android:layout_
        android:layout_marginTop="2dp"
        android:layout_weight="1"
        android:orientation="horizontal"
        >
        <Button
            android:id="@+id/btnSeven"
            android:layout_
            android:layout_
            android:layout_weight="1"
            android:text="7"
            android:onClick="onDigit"
            />
        <Button
            android:id="@+id/btnEight"
            android:layout_
            android:layout_
            android:layout_weight="1"
            android:text="8"
            android:onClick="onDigit"
            />
        <Button
            android:id="@+id/btnNine"
            android:layout_
            android:layout_
            android:layout_weight="1"
            android:text="9"
            android:onClick="onDigit"
            />
        <Button
            android:id="@+id/btnDivide"
            android:layout_
            android:layout_
            android:layout_weight="1"
            android:text="/"
            android:onClick="onDigit"
            />



    </LinearLayout>
      
</LinearLayout>

【问题讨论】:

尝试用 androidx.appcompat.widget.AppCompatButton 替换 Button 【参考方案1】:

您想在加权视图或任何其他类型的视图中的按钮之间添加边距。解决方案是您要添加我在下面写的行。


水平边距

android:layout_marginHorizontal="5dp" 
<!--change the dp size prefered your design-->

垂直边距

android:layout_marginVertical="5dp" 
<!--change the dp size prefered your design-->

或者如果您希望将边距设置为左、上、右、下。


用于左、上、右、下边距

<!--left-->
android:layout_marginLeft="5dp" 
<!--change the dp size prefered your design-->

<!--top-->
android:layout_marginTop="5dp" 
<!--change the dp size prefered your design-->

<!--right-->
android:layout_marginRight="5dp" 
<!--change the dp size prefered your design-->

<!--bottom-->
android:layout_marginBottom="5dp" 
<!--change the dp size prefered your design-->

如果,我解决了你的问题,请给这个答案打勾并投票。提前致谢。 ;)

【讨论】:

以上是关于线性布局按钮之间的垂直空间“权重”的主要内容,如果未能解决你的问题,请参考以下文章

ANDROID 线性布局使用权重填充剩余空间

Android基础TOP3:线性布局的特点,常用属性,及权重值

2 个按钮并排

Android开发点滴 - 如何使按钮水平垂直居中且始终占据屏幕宽度一半

鸿蒙系统中DirectionalLayout线性布局

拆分滚动视图使其伸展一半的屏幕,但它忽略了布局重量