当前位置: 首页 > 知识库问答 >
问题:

Android LinearLayout layout_weight行为

东门文斌
2023-03-14
<LinearLayout
    android:layout_width="400dp"
    android:layout_height="100dp"
    android:orientation="horizontal"
    app:layout_constraintBottom_toTopOf="@id/table_playfield"
    app:layout_constraintTop_toBottomOf="@id/table_tile2"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintEnd_toEndOf="parent" >

    <com.example.se2_gruppenphase_ss21.game.TimerView
        android:id="@+id/timerView2"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="2" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:layout_weight="2" >

        <Button
            android:id="@+id/remove"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:text="@string/remove_tile"
            app:backgroundTint="#2196F3" />

        <Button
            android:id="@+id/ubongo_button"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:fontFamily="@font/architects_daughter"
            android:text="UBONGO !!"
            android:textSize="16sp"
            android:textStyle="bold"
            app:backgroundTint="#FF1010" />

    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:layout_weight="1" >

        <Button
            android:id="@+id/mirror_vertical"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@drawable/mirror_vertical"
            app:backgroundTint="#3F51B5" />

        <Button
            android:id="@+id/rotate_left"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@drawable/rotate_left"
            app:backgroundTint="#3F51B5" />

    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:layout_weight="1">

        <Button
            android:id="@+id/mirror_horizontal"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@drawable/mirror_horizontal"
            app:backgroundTint="#3F51B5" />

        <Button
            android:id="@+id/rotate_right"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@drawable/rotate_right"
            app:backgroundTint="#3F51B5" />

    </LinearLayout>

</LinearLayout>

共有1个答案

金昂熙
2023-03-14

阅读布局权重

指示将LinearLayout中的多少额外空间分配给与这些LayoutParams关联的视图。如果不应拉伸视图,请指定0。否则,额外的像素将在权重大于0的所有视图中按比例排列

要创建一个线性布局,其中每个子级在屏幕上使用相同数量的空间,请将每个视图的android:layout_height设置为“0dp”(对于垂直布局),或者将每个视图的android:layout_width设置为“0dp”(对于水平布局)。

    <LinearLayout
    android:layout_width="400dp"
    android:layout_height="100dp"
    android:orientation="horizontal"
    app:layout_constraintBottom_toTopOf="@id/table_playfield"
    app:layout_constraintTop_toBottomOf="@id/table_tile2"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintEnd_toEndOf="parent" 
    android:weightSum="6"
   
    >

    <com.example.se2_gruppenphase_ss21.game.TimerView
        android:id="@+id/timerView2"
        android:layout_width=“0dp”
        android:layout_height="match_parent"
        android:layout_weight="2" />

    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:layout_weight="2" >

        <Button
            android:id="@+id/remove"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:text="@string/remove_tile"
            app:backgroundTint="#2196F3" />

        <Button
            android:id="@+id/ubongo_button"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:fontFamily="@font/architects_daughter"
            android:text="UBONGO !!"
            android:textSize="16sp"
            android:textStyle="bold"
            app:backgroundTint="#FF1010" />

    </LinearLayout>

    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:layout_weight="1" >

        <Button
            android:id="@+id/mirror_vertical"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@drawable/mirror_vertical"
            app:backgroundTint="#3F51B5" />

        <Button
            android:id="@+id/rotate_left"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@drawable/rotate_left"
            app:backgroundTint="#3F51B5" />

    </LinearLayout>

    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:layout_weight="1">

        <Button
            android:id="@+id/mirror_horizontal"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@drawable/mirror_horizontal"
            app:backgroundTint="#3F51B5" />

        <Button
            android:id="@+id/rotate_right"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@drawable/rotate_right"
            app:backgroundTint="#3F51B5" />

    </LinearLayout>

</LinearLayout>
    
 类似资料:
  • 问题内容: 说我有身份证。我将如何获得下一行或上一行? 问题答案: 这就是我用来查找上一个/下一个记录的方法。表格中的任何列都可以用作排序列,并且不需要联接或讨厌的技巧: 下一条记录(日期大于当前记录): 上一个记录(日期小于当前记录): 例:

  • 问题内容: 下面的小提琴有三个方块。 块1 包含三列。中间的列中有两行,每行设置为flex:1。 块2 包含三列。中间的列中有两行,每行设置为flex:1。第二行包含一条狗的图像。图像将不会缩小到包含图像的行的高度。 块3 仅包含中间的列,中间有两行,每行设置为flex:1。第二行包含一条狗的图像。图像确实缩小到包含图像的行的高度。 问题是,为什么块2中间列的第二行中的图像不缩小到包含该行的行的高

  • 我已经简化了下面的代码在更新的表视图。 由于某些原因,我没有像人们所期望的那样使用JavaFx的属性,也许这种行为与此有关。来自JTable和observer模式,我想尝试如何在javafx中实现这一点。然而,我的表格数据都很好,但当我试图改变背景颜色时,更多的行出现在表格范围之外。我已经检查了可观察列表的大小,结果与预期一致。 我无法真正看到或理解datas.set是如何产生这种行为的,这是我在

  • 行为是 yii\base\Behavior 或其子类的实例。 行为,也称为 mixins, 可以无须改变类继承关系即可增强一个已有的 组件 类功能。 当行为附加到组件后,它将“注入”它的方法和属性到组件, 然后可以像访问组件内定义的方法和属性一样访问它们。 此外,行为通过组件能响应被触发的事件,从而自定义或调整组件正常执行的代码。 定义行为 要定义行为,通过继承 yii\base\Behavior

  • 问题内容: 我正在尝试不同的JOIN查询,但没有得到想要的结果。 我有2张桌子: 我找不到想要的结果。 我想得到以下结果: 问题答案: 您不能具有这样的动态列数,但是可以 将数据连接 成字符串: 或者您可以使用或手动 旋转行( 我更喜欢后一种方法,对我来说似乎更灵活,但是在某些情况下可以大大减少代码量): 您还可以将前面的语句转换为 动态SQL, 如下所示:

  • 问题内容: 我有一个问题,如果我有一排像这样 我如何将其分成三行,如下所示: / J 问题答案: 您可以使用递归CTE: SQLFiddleDEMO 编辑: 基于Marek Grzenkowicz的回答和MatBailie的评论,全新的想法: 生成从1到max(qty)的数字,并在其上加入表。 SQLFiddle演示

  • 问题内容: 我想选择数据库中的所有行,但希望它们以倒序排列。意思是,我想将第一列数据用作新实体,将当前实体用作第一列。我想你明白我的意思 这是一个例子 至 问题答案: 使用固定的已知列,这里是做这的方法(我将表命名为“ grades”是自由的): 大概的概念: 创建并执行不同查询的并集。 由于您需要实际数据作为列标题,因此联合的第一部分如下所示: 仅该查询将复制结果,因此我们需要通过添加告诉MyS

  • 问题内容: 我遇到了一个非常奇怪的问题。我需要在Jenkins中配置代理,以便 能够访问其中一项作业的SVN存储库。我这样做有两种方式: 从命令行使用必需的参数启动Jenkins 在jenkins.xml文件中定义参数时,将Jenkins作为Windows服务启动。 Starting from command line : -Dhudson.model.DirectoryBrowserSuppor