ConstraintLayout相对距离,以百分比%

编程入门 行业动态 更新时间:2024-10-27 00:33:37
本文介绍了ConstraintLayout相对距离,以百分比%的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我正在使用ConstraintLayout,并且我想通过位于屏幕52%的按钮2为文本视图示例设置百分比边距顶部.

I am working with ConstraintLayout and I want to set a percentage margin top to the Textview Sample from the Button 2 placed at 52% of the screen.

与屏幕高度相比,当然是3%.

3% is of course compared to the height of the screen.

位置应相对于其他UI组件是相对的,准则仅应从屏幕顶部(或底部)引用

The position should be relative from another UI components, guidelines reference only from the top (or bottom) of the screen

是否可以通过xml 专有地执行此操作?

It's possible to do this exclusively via xml?

我知道可以以编程方式使用标准布局并具有重量的方式来执行此操作,但是我需要(如果存在)XML解决方案.

I know that is possibile to do this programmatically and with standard layouts with weight but I need (if exist) the XML solution.

代码:

<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="schemas.android/apk/res/android" xmlns:app="schemas.android/apk/res-auto" xmlns:tools="schemas.android/tools" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.constraint.Guideline android:id="@+id/guideline" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" app:layout_constraintGuide_percent="0.5" /> <Button android:id="@+id/button3" android:layout_width="0dp" android:layout_height="0dp" android:layout_marginBottom="8dp" android:layout_marginTop="8dp" android:text="Button" app:layout_constraintBottom_toTopOf="@+id/guideline" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <TextView android:id="@+id/textView4" android:layout_width="wrap_content" android:layout_height="0dp" android:layout_marginTop="32dp" android:layout_weight="10" android:background="#00FF00" android:text="SAMPLE" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.5" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/button4" /> <Button android:id="@+id/button4" android:layout_width="wrap_content" android:layout_height="50dp" android:layout_marginTop="8dp" android:text="BUTTON 2" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.5" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="@+id/guideline" /> </android.support.constraint.ConstraintLayout>

推荐答案

经过研究,我终于找到了解决方法.

After some research I finally found a workaround.

使用ConstraintLayoutLibrary 1.1.0-beta的测试版,您可以以百分比模式定义高度.

With the beta version of the ConstraintLayoutLibrary 1.1.0-beta you can define the height in a percent mode.

app:layout_constraintHeight_default="percent" app:layout_constraintHeight_percent="0.03"

因此,我创建了一个空视图来创建空间.无论如何,还没有一种在百分比模式下定义marginTop的方法.

So I created an empty view for create space. Anyway, there isn't yet a method to define the marginTop in percent mode.

所以对于我的具体情况:

So for my specific case:

<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="schemas.android/apk/res/android" xmlns:app="schemas.android/apk/res-auto" xmlns:tools="schemas.android/tools" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.constraint.Guideline android:id="@+id/guideline" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" app:layout_constraintGuide_percent="0.5" /> <Button android:id="@+id/button3" android:layout_width="0dp" android:layout_height="0dp" android:layout_marginBottom="8dp" android:layout_marginTop="8dp" android:text="Button" app:layout_constraintBottom_toTopOf="@+id/guideline" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <TextView android:id="@+id/textView4" android:layout_width="wrap_content" android:layout_height="0dp" android:layout_marginEnd="8dp" android:layout_marginStart="8dp" android:layout_marginTop="8dp" android:layout_weight="10" android:background="#00FF00" android:text="SAMPLE" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/spaceView" /> <View android:id="@+id/spaceView" android:layout_width="0dp" android:layout_marginEnd="8dp" android:layout_marginStart="8dp" android:layout_marginTop="8dp" android:background="#FF0000" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHeight_percent="0.03" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/button4" /> <Button android:id="@+id/button4" android:layout_width="wrap_content" android:layout_height="50dp" android:layout_marginTop="8dp" android:text="BUTTON 2" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.5" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="@+id/guideline" /> </android.support.constraint.ConstraintLayout>

更多推荐

ConstraintLayout相对距离,以百分比%

本文发布于:2023-10-07 23:40:04,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1470866.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:百分比   距离   ConstraintLayout

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!