- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我可以使用约束布局中的水平和垂直偏差,根据屏幕尺寸设置 UI 元素的位置。
但是 UI 元素的宽度和高度并没有根据屏幕尺寸改变,所以它看起来仍然不完美。
那么我怎样才能做到这一点呢?
下面是我的源代码:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.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="match_parent"
tools:context="com.satizh.android.constraintlayouttest.MainActivity">
<Button
android:id="@+id/button"
android:layout_width="125dp"
android:layout_height="47dp"
android:layout_marginBottom="0dp"
android:layout_marginLeft="0dp"
android:layout_marginRight="0dp"
android:layout_marginTop="0dp"
android:layout_weight="68"
android:text="5%V30%H"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.3"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.050000012" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button"
android:layout_marginTop="0dp"
app:layout_constraintTop_toBottomOf="@+id/button"
android:layout_marginRight="0dp"
app:layout_constraintRight_toRightOf="parent"
android:layout_marginLeft="0dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintHorizontal_bias="0.915"
app:layout_constraintBottom_toBottomOf="parent"
android:layout_marginBottom="0dp"
app:layout_constraintVertical_bias="0.138" />
<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.14" />
<android.support.constraint.Guideline
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/guideline2"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.05" />
<android.support.constraint.Guideline
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/guideline3"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.2" />
<android.support.constraint.Guideline
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/guideline4"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.53" />
</android.support.constraint.ConstraintLayout>
我已经创建了一些指南(百分比方式),以便我们可以猜测当我们旋转设备时 UI 按钮应该如何根据屏幕实际显示。这是更好理解的 gif。
最佳答案
如果您希望按钮占据两条辅助线之间的所有水平空间,则将其宽度设置为 0dp 并将按钮的左右边缘约束到适当的辅助线。
<Button
android:layout_width="0dp"
app:layout_constraintStart_toEndOf="@id/guideline3"
app:layout_constraintEnd_toStartOf="@id/guideline4"
... />
您将获得以下纵向输出:
这是横向的:
为了解决垂直空间,使高度为 0dp 并使约束按钮的顶部和底部边缘符合适当的准则。
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.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="match_parent"
tools:context="com.satizh.android.constraintlayouttest.MainActivity">
<Button
android:id="@+id/button"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginBottom="0dp"
android:layout_marginLeft="0dp"
android:layout_marginRight="0dp"
android:layout_marginTop="0dp"
android:layout_weight="68"
android:text="5%V30%H"
app:layout_constraintBottom_toTopOf="@+id/guideline"
app:layout_constraintLeft_toLeftOf="@+id/guideline3"
app:layout_constraintRight_toLeftOf="@+id/guideline4"
app:layout_constraintTop_toTopOf="@+id/guideline2" />
<Button
android:id="@+id/button2"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginBottom="0dp"
android:layout_marginLeft="0dp"
android:layout_marginRight="0dp"
android:layout_marginTop="0dp"
android:text="box"
app:layout_constraintBottom_toTopOf="@+id/guideline8"
app:layout_constraintLeft_toLeftOf="@+id/guideline5"
app:layout_constraintRight_toLeftOf="@+id/guideline6"
app:layout_constraintTop_toTopOf="@+id/guideline7"
app:layout_constraintHorizontal_bias="0.0" />
<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.17" />
<android.support.constraint.Guideline
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/guideline2"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.05" />
<android.support.constraint.Guideline
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/guideline3"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.2" />
<android.support.constraint.Guideline
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/guideline4"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.53" />
<android.support.constraint.Guideline
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/guideline5"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.6510417" />
<android.support.constraint.Guideline
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/guideline6"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.8802083" />
<android.support.constraint.Guideline
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/guideline7"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.2994129" />
<android.support.constraint.Guideline
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/guideline8"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.42" />
</android.support.constraint.ConstraintLayout>
对应输出:
关于android - 约束布局 : percentage based dimensions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47766988/
为了使问题尽可能简单: 在 Excel 单元格 A1 中有一个数值:0.11 我想将单元格格式设置为百分比值,但不带 % 符号。我想要:11;不是 11% 我不是在问如何在常规 Excel 中执行此操
我正在努力提高我的 Spark Scala 技能,但我遇到了这个案例,我找不到操作方法,所以请指教! 我有原始数据,如下图所示: 我想计算计数列每个结果的百分比。例如。最后一个错误值为 64,64 在
在 firefox 中,我的结果符合预期。我正在尝试添加 width 和 padding 来组成完整尺寸。在 chrome 中这似乎不起作用, .tab-content { padding: 10px
我有一个字符串,其中可能出现 %[{variable}, percentage] 我想将其转换为 (({variable}*percentage)/100) 并将其替换在同一位置。最好的方法是什么?
前言 它看起来像是几个 stackoverflow 问题的重复,但我的情况(可能)有点独特。 我的情况 我有一本字典。 键是一个字符串,值是一个整数。 我希望 python 脚本随机选择 N 个键。
我喜欢在 Item 时计算“两行之间的变化百分比” 行的变化。 对于第一行项目,我可以放置一些文本或空白 (例如“跳过”或空白是可以的)因为没有比较前一行的相同 元素 df % group_by(
我无法理解百分比的意义。 在此站点中:https://developer.mozilla.org/en-US/docs/Web/CSS/top#Summary 它说:“引用包含 block 的高度”
我知道你可以在 Sass/Scss 中做一些简单的数学运算。但是有没有办法从百分比中减去像素?例如: $image-size: 200px; .bio { width: 100% - $ima
如果我想找到来自 12345 邮政编码区域的人数百分比,我会取具有该邮政编码的人数并将其与总人数相除……我在下面的示例查询中遗漏了什么?我不知道如何正确显示百分比。它只是一直说0%。 select (
关闭。这个问题是opinion-based .它目前不接受答案。 想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题. 7年前关闭。 Improve t
我对RPGLE了解不多。我正在尝试解决给我的这个小练习。我从来没有做过或见过使用小数的练习。我想获得 7 个值的百分比。所以,我想做如下计算。 例如在 RPGLE 中。 DTotal
我正在尝试使用正则表达式解析文本文件,将百分比作为字符串,并用百分比乘以用户提供的整数来替换结果。如果用户输入 400,则代码应返回“120 x 8、180 x 6 等” 尝试进行替换,但它用相同的字
我有一个有效的查询,但除了我已有的查询之外,我想为每个类别添加一个额外的列,即免费、减少、付费和认证免费,以及与学生总数相比的百分比。谁能帮我吗? select count(case
我需要获取百分比但不能使用 WHERE 子句,因为它是大型 SQL 查询的一部分。 我尝试这样做: select (count(sector='Rurality'))/(count(sector))*
是否可以对 Elastic Search 进行查询,以返回分数占最大分数的百分比?到目前为止,它返回的值如 "_score": 0.00786336, 以及最大分数如 max_score": 0.13
如果我以百分比形式给出“from”值,以像素为单位给出“to”值,则“弹跳动画不会按预期工作。 请检查这里的代码:http://jsfiddle.net/xJ4xy/ 解决方案是什么? (我尽量不使用
我正在使用百分比来缩放我网站上图库中的缩略图,但我无法使用 object-fit: cover 来处理它们。我正在尝试使用 object-fit,这样我就可以让缩略图实际上是方形的,而不是图像本身具有
我有一个包含 2 个“配对”整数数组 newNumerator[ ] 和 newDenominator[ ] 的程序,它们都有 9 个整数。我编写了一个按升序对它们进行排序的函数,但是我不确定它是否有
遗憾的是,我试过目视它,但没有结果。 我想做的是根据百分比进行变亮/变暗混合:如果百分比 0,则执行“变亮(@color,@light)”。 像这样: ._changeColor(@color, @
我在一个使用标准网格系统的响应式网站上工作,所以我的 div 不能有固定的高度。话虽如此,我已经设置了一个 fiddle 文件来模拟我的问题。出于美观原因,我在桌面上的最小高度为 50px,并将行高也
我是一名优秀的程序员,十分优秀!