我一直在阅读有关如何让Android在ConstraintLayout中自动设置高度的几个主题。 建议将高度设置为“ 0dp”,但这不适用于我的项目。 我认为问题是在LinearLayout中如何有两个FrameLayout,它们定义了我的搜索杆的比例。

我想要的是:我希望两个搜寻栏填满所有剩余空间,而断开按钮位于屏幕的最底部。

这是我的代码:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
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_width="match_parent"
android:layout_height="wrap_content"
tools:context="com.xxx.zz"
android:orientation="vertical">

<LinearLayout
    android:id="@+id/topFrame"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent">

    <ImageView
        android:id="@+id/imageView9"
        android:layout_width="match_parent"
        android:layout_height="100dp"
        android:src="@drawable/pic1" />
</LinearLayout>

<LinearLayout
    android:id="@+id/linearLayout2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="15dp"
    android:background="#000000"
    android:gravity="center"
    android:orientation="horizontal"
    android:layout_marginBottom="7dp"
    app:layout_constraintBottom_toTopOf="@+id/linearLayout3"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@id/topFrame">

    <TextView
        android:id="@+id/batteryStatus"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Battery Level: High"
        android:textColor="#FFFFFF"
        android:textSize="30dp"
        android:textStyle="bold" />

</LinearLayout>

<LinearLayout
    android:id="@+id/linearLayout3"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="5dp"
    android:gravity="center"
    android:weightSum="5"
    app:layout_constraintBottom_toTopOf="@+id/linearLayout4"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/linearLayout2">

    <FrameLayout
        android:layout_width="70dp"
        android:layout_height="35dp"
        android:layout_marginStart="10dp"
        android:layout_weight="1">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:textSize="30dp"
            android:text="M1"
            android:textColor="@color/colorText" />
    </FrameLayout>

    <CheckBox
        android:layout_marginStart="5dp"
        android:id="@+id/reverseM1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="30dp"
        android:text="Rev"
        android:layout_weight="1" />

    <CheckBox
        android:layout_marginEnd="5dp"
        android:id="@+id/reverseM2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="30dp"
        android:text="Rev"
        android:layout_weight="1" />

    <FrameLayout
        android:layout_width="70dp"
        android:layout_height="35dp"
        android:layout_marginEnd="10dp"
        android:layout_weight="1">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:textSize="30dp"
            android:text="M2"
            android:textColor="@color/colorText" />

    </FrameLayout>

</LinearLayout>

<LinearLayout
    android:id="@+id/linearLayout4"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="10dp"
    android:gravity="center"
    app:layout_constraintBottom_toTopOf="@+id/linearLayout3"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/linearLayout5">

    <FrameLayout
        android:layout_width="100dp"
        android:layout_height="450dp"
        android:orientation="vertical"
        app:layout_constraintBottom_toTopOf="@+id/linearLayout3"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/linearLayout5"
        app:layout_constrainedHeight="true"
        app:layout_constraintHeight_default="spread"
        app:layout_constraintWidth_default="wrap">

        <SeekBar
            android:id="@+id/slider_1"
            android:layout_width="350dp"
            android:layout_height="100dp"
            android:layout_gravity="center"
            android:min="0"
            android:max="100"
            android:rotation="270"
            android:progress="50"
            android:progressDrawable="@android:color/transparent"
            android:thumb="@drawable/seekbar_thumb" />
    </FrameLayout>

    <FrameLayout
        android:layout_width="100dp"
        android:layout_height="450dp"
        android:layout_marginStart="150dp"
        android:orientation="vertical"
        app:layout_constraintBottom_toTopOf="@+id/linearLayout3"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/linearLayout5">

        <SeekBar
            android:id="@+id/slider_2"
            android:layout_width="350dp"
            android:layout_height="100dp"
            android:layout_gravity="center"
            android:min="0"
            android:max="100"
            android:rotation="270"
            android:progress="50"
            android:progressDrawable="@android:color/transparent"
            android:thumb="@drawable/seekbar_thumb" />
    </FrameLayout>

    <!--<FrameLayout
        android:layout_width="100dp"
        android:layout_height="450dp"
        android:layout_marginStart="0dp"
        android:orientation="vertical">

        <CheckBox
            android:id="@+id/reverseM1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Reverse M1" />
    </FrameLayout>-->

</LinearLayout>

<LinearLayout
    android:id="@+id/linearLayout5"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_weight="1"
    android:gravity="center|bottom"
    android:orientation="vertical"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent">

    <Button
        android:id="@+id/btnDisconnect"
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:text="Disconnect"
        app:backgroundTint="#126FB7" />

</LinearLayout>

<!--<LinearLayout
    android:id="@+id/linearLayout5"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginBottom="10dp"
    android:layout_alignParentBottom="true"
    android:layout_weight="1"
    android:gravity="center|bottom"
    android:orientation="vertical"
    android:background="#000000"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent">

    <Button
        android:id="@+id/btnDisconnect"
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:layout_centerHorizontal="true"
        android:layout_margin="10dp"
        android:layout_marginLeft="3dp"
        android:layout_marginTop="10dp"
        android:layout_marginRight="3dp"
        android:layout_weight="1"
        android:text="Disconnect"
        app:backgroundTint="#126FB7" />
</LinearLayout>-->

</androidx.constraintlayout.widget.ConstraintLayout>`

  ask by AkroDev translate from so

本文未有回复,本站智能推荐:

1回复

如果子视图占用整个父级的宽度和高度,如何使FrameLayout父级可单击?

我使用TextInputEditText和TextInputLayout有特殊的布局。 它的外观类似于布局,但一个View从外观上仅是TextInputEditText 。 它将没有任何可编辑的部分。 其目的是提供信息,并像Button一样起作用。 而且有一个问题。 我将此EditTe
1回复

FrameLayout与NestedScrollView的高度不匹配

我在NestedScrollView中有一个FrameLayout,如 但是FrameLayout没有填充NestedScrollView的高度。 我该如何解决这个问题?
1回复

自动调整框架布局

我需要做这样的事情: 该应用程序的用户界面的一个区域包含多个彩色矩形,另一个区域包含SeekBar。 当用户拖动SeekBar时,矩形将逐渐更改其颜色。 我正在使用framelayouts(我不知道是否有更好的选择),但是我对每个framelayout的大小进行了硬编码,当然,这
1回复

将FrameLayout置于每个视图的顶部

我有这个布局: 首先,视图View_layer_over是半透明的视图,它位于布局中所有内容的顶部。 当我按下按钮时,我想将description_FrameLayout_profile FrameLayout View_layer_over视图之上。 我已经尝试了View.brin
2回复

为什么不能强制设置FrameLayout的高度?

我将FrameLayout的高度设置为400,但仍为64。 frame_layout.xml MyClass.java 输出量 即使我在xml中设置layout_height =“ 400”,它仍然是64。我认为这与ScrollViews有关。 (但是,我不能使用
2回复

Android:FrameLayout内有RelativeLayout,宽度高度错误

我有的: activity_comics.xml两个片段的布局容器:漫画列表(view_comicses.xml)和详细漫画视图 view_comicses.xml带有交错列表视图的片段 view_comics_detail.xml漫画详细视图的片段 将view_c
2回复

使用FrameLayout将文本视图放置在图像视图上

以下是我设计xml的方式。 现在,我正在尝试将textview放入下面显示的白色框中。 但是受到FrameLayout的限制(至少我是这么认为的),我需要硬编码值以使文本视图适合中间或白框内的某个位置。 我无法通过相对布局或其他布局来实现此目的,因为根据我的试验,我认为整体是一幅图像。
2回复

Framelayout,与其他视图下的视图交互

我在framelayout中有两个画布视图,一个在另一个上,就像堆栈一样。 帆布占据整个区域,下方的帆布完全被帆布鞋面覆盖。 两个画布都是透明的,因此用户可以看到两个画布(如果它们有任何内容)。 我让用户使用触摸交互在上部画布上绘图。 如何禁用上部画布的触摸侦听器,以便用户
1回复

FrameLayout内的Android子视图是可点击的,如何禁用frameLayout子视图的点击?

当我单击textview时,它打开列表项弹出活动,但我设置textview android:clickable="false"不起作用,因此如何禁用FrameLayout子视图的单击
1回复

如何用可用空间填充FrameLayout中的2个视图

我有2个意见。 我希望2个视图填充屏幕,就像使用LinearLayout一样。 视图1应该位于右上角,并且应该较小。 我需要FrameLayout,因为在此之上我有更多的视图,所以这个问题是关于如何使它与FrameLayout一起使用的。 对于Nexus 4,它可以工作,但对于其他