- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
使用 ConstraintLayout
我有 2 个 TextView
,当它们有足够的空间来查看两者的内容时,我希望它们彼此相邻。但是,如果 TextView A 占用大量空间并填满所有屏幕宽度,那么我希望 TextView B 位于 TextView A 下方,而不是仍在右侧但不可见(在屏幕外)。
因此,使用下面的代码,我将 2 个 TextView
放在了一起。
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/text_view_a"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:layout_marginTop="8dp"
tools:text="a very long text ..." />
<TextView
android:id="@+id/text_view_b"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:layout_marginTop="8dp"
app:layout_constraintLeft_toRightOf="@+id/text_view_a"
app:layout_constraintTop_toTopOf="parent"
tools:text="some text" />
</android.support.constraint.ConstraintLayout>
如果 TextView B 没有任何空间留给他,我应该如何编辑此代码 fragment ,以便 TextView B 位于 TextView A 之下?
最佳答案
看看 Google 的 FlexboxLayout。它可能是您流动 TextView
所需要的。您可以找到一些文档 here和教程 here .
FlexboxLayout is a library project which brings the similar capabilities of CSS Flexible Box Layout Module to Android.
您可以考虑将 TextView
包装在 ConstraintLayout 内的 FlexbotLayout 中,以允许它们根据需要流动。
这是一个示例布局。由于最上面的TextView
文本比较长,所以两个TextView
会叠在一起。如果缩短此文本,两个 TextView
将并排显示。
希望对您有所帮助。
<?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.example.flexer.MainActivity">
<com.google.android.flexbox.FlexboxLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="0dp"
app:alignContent="stretch"
app:alignItems="stretch"
app:flexWrap="wrap"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:id="@+id/text_view_a"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="8dp"
android:text="a very long text ...a very long text ...a very long text ...a very long text ...a very long text ...a very long text ...a very long text ...a very long text ..." />
<TextView
android:id="@+id/text_view_b"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="8dp"
android:text="some text" />
</com.google.android.flexbox.FlexboxLayout>
</android.support.constraint.ConstraintLayout>
关于android - 仅当空间足够时才在右侧查看,否则在底部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44258042/
我有一个集合,其文档如下所示: count: number first: timestamp last: timestamp first值应该(几乎)在文档创建后永远不会改变。 在批量写入操作中,我试
我想删除 Java 字符串中的最后一位数字,前提是它只存在一位数字。 例如。 String text = "I am the9 number1"; // should be "I am the num
##问题 我应该如何向我的 vue 项目添加条件语句,以在某些数据不可用时显示某个元素,并隐藏父元素。 ##背景 我正在从包含菜谱的 Taco API 获取数据。但有时该数据是空的。 如果有数据,目前
我创建了 php ekart 网站只是为了测试目的。我的查询是,当我单击“添加到购物车”时,它应该首先验证是否选择了任何一种颜色和任何一种尺寸,如果都选择了,则将产品添加到购物车,这很好用,但如果我添
当我发送请求时,我从服务器收到错误 500。type20,type30 未定义。 type30以后会补上值。如何设置'filter [status]': [type10, type20, type30
在我的网络应用程序中,我显示股票价格。我使用 jquery 自动完成功能在输入股票名称时显示选项。但我已经构建了 javascript 数组的本地副本。我想显示此本地数组中的选项,如果在本地数组中找不
我是 iOS 开发的新手,我有一个问题,我认为答案很简单,但我似乎找不到实现它的方法。 我有一个 UITableViewController 由用户点击 NavigationBar 上的按钮填充,用户
我在 Jenkins 管道中运行 SonarQube(不使用插件,我使用的是容器)。我正在使用来自 docker hub 的 docker image sonarqube,并通过以下方式启动它 doc
我对 firestore 和 angular 完全陌生,但经过几天的工作,我设法编写了一个 ionic/angular web 应用程序,它使用 google firestore 作为后端。 每次在
我在 Android 上使用 Parse.com 来导入一些数据并用它填充 ListView 。我在异步方面遇到了一些麻烦。 我有一个名为 DataHandler 的类,它在实例化时从数据库导入数据并
我只想在 LayersControl 中单击图层并且缩放级别大于某个数字时才显示该图层,例如8. 原因之一是,必须执行一些昂贵的计算才能获得图层坐标。我想使用图层控件而不是额外的输入按钮(出于光学原因
我是一名优秀的程序员,十分优秀!