将左边缘与中心对齐-RelativeLayout

2024-01-03

我有以下要求(大大简化):

text 2必须从屏幕的中心开始。

我只能使用线性布局的:

<more_code></more_code><LinearLayout
                                    android:baselineAligned="false"
                                    android:weightSum="2"
                                    android:layout_width="match_parent"
                                    android:layout_height="wrap_content">

                                <LinearLayout
                                        android:layout_weight="1"
                                        android:orientation="horizontal"
                                        android:layout_width="0dp"
                                        android:layout_height="wrap_content">
                                    <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:text="test one"/>
                                    <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:text="test two"/>
                                </LinearLayout>

                                <LinearLayout
                                        android:layout_weight="1"
                                        android:orientation="horizontal"
                                        android:layout_width="0dp"
                                        android:layout_height="wrap_content">
                                    <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:text="test three"/>

                                    <TextView
                                            android:layout_width="wrap_content"
                                            android:layout_height="wrap_content"
                                            android:text="test four"/>
                                </LinearLayout>
                            </LinearLayout><more_code></more_code>

由于我已经有太多嵌套视图(因此得到myfile.xml 有超过 10 个级别,对性能不利警告)我想知道我是否能得到相同的结果相对布局。我已经经历过文档 http://developer.android.com/reference/android/widget/RelativeLayout.LayoutParams.html但我找不到允许我这样做的财产。


如果您接受 1 个 0dp x 0dp 的空视图作为开销,那么这很容易。在我看来,这比拥有太多嵌套视图要好,但这可以作为其他视图的参考。

使用一个空的Space(0x0 像素)。如果你把这个居中Space水平方向,您可以将其用作参考,如下所示:

<RelativeLayout>

    <!-- Empty layout (0x0 dp) centered horizontally -->
    <Space android:id="@+id/dummy" 
        android:layout_width="0dp" 
        android:layout_height="0dp"
        android:layout_centerHorizontal="true" 
        android:visibility="invisible"/>

    <!-- Align to parent left -->
    <TextView
        android:id="@+id/test_one"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:text="test one"/>

    <!-- to right of the previous one, and to left of the dummy -->
    <TextView
        android:id="@+id/test_two"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/test_one"
        android:layout_toLeftOf="@+id/dummy"
        android:text="test two"/>

    <!-- Align to right of the dummy -->
    <TextView
        android:id="@+id/test_three"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/dummy"
        android:text="test three"/>

    <!-- Align to right of the previous one, and parent right -->
    <TextView
        android:id="@+id/test_four"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/test_three"
        android:layout_alignParentRight="true"
        android:text="test four"/>

</RelativeLayout>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将左边缘与中心对齐-RelativeLayout 的相关文章

  • 设置文本视图 Android 的文本颜色

    在 string xml 文件中我使用以下标签
  • 如何获取每个StorageVolume的可用大小和总大小?

    背景 谷歌 悲伤 计划破坏存储权限 https www xda developers com android q storage access framework scoped storage 这样应用程序将无法使用标准文件 API 和文件
  • 我在布局上看不到任何 FirebaseRecyclerAdapter 项目

    我试图将数据从 Firebase 数据库检索到我的布局 但我看不到任何项目FirebaseRecyclerAdapter在布局中 请帮忙 我按照一个教程展示了如何做到这一点 当我运行应用程序时 我没有看到任何项目 但我可以滚动 public
  • Cheesesquare:enterAlways 会产生错误的布局

    Adding enterAlways到 Cheesesquare 演示的滚动标志
  • Xamarin Android Webview Javascript

    我正在尝试通过 Xamarin for Android 创建一个移动应用程序 它有一个显示网站的 WebView 问题是正常按钮会触发 但 javascript 事件不会触发 我已经启用了 Javascript 但没有运气 如何在 Andr
  • 从响应中获取标头(Retrofit / OkHttp 客户端)

    我正在使用 Retrofit 与 OkHttp 客户端和 Jackson 进行 Json 序列化 并希望获取响应的标头 我知道我可以扩展 OkClient 并拦截它 但这发生在反序列化过程开始之前 我基本上需要的是获取标头以及反序列化的 J
  • Recyclerview 动态部分不使用任何第三个库

    我想将标头添加到 recyclerview 我正在尝试使用来实现它 Override public int getItemViewType int position depends on your problem if position 0
  • 通过 WhatsApp 发送消息

    由于我发现了一些较旧的帖子 表明 Whatsapp 不支持此功能 我想知道是否发生了变化 以及是否有办法打开与我通过意图发送的号码进行 Whatsapp 聊天 UPDATE请参阅https faq whatsapp com en andro
  • 在 Cordova 应用程序中获取额外功能

    我们有两个 Android 应用程序 一个使用本机 Java 实现 另一个使用 Ionic 编写 Ionic 应用程序启动我的应用程序 这是使用灯插件 https github com lampaa com lampa startapp 我
  • 从 BroadcastReceiver 类调用活动方法

    我知道我可以做一个内部接收器类来调用接收器中的任何方法 但我的主要活动太大了 要做的事情也很多 因此 我需要一个扩展广播接收器的类 但它不是内部类 并且可以从我的主要活动中调用一种方法 我不知道是否可能 但我的活动是家庭活动和 single
  • okhttp 获取失败响应

    我已经在我的 android 客户端中实现了 okhttp 来进行网络调用 当我收到失败响应时 我会收到失败代码以及与该代码相关的文本作为消息 但我没有收到服务器发送给我的自定义失败响应 在我实施的代码中的失败响应中 我收到的消息只是 错误
  • Android Studio 缓慢的增量构建

    我已经完成了许多步骤来完善我们的构建系统 those https stackoverflow com questions 16775197 building and running app via gradle and android st
  • 上网本上可以进行Android开发吗? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我想使用我的上网本进行 Android 开发 但是当我尝试使用 Eclipse 运行 SDK 时 没有加载任何内容 上网本对于 Android 开发来
  • 卡片视图 单击卡片移至新活动

    我是 Android 编程新手 正在研究卡片布局 我想知道如何使其可点击 android clickable true android foreground android attr selectableItemBackground 我的卡
  • 如何检查 Android 中的同步设置

    我正在构建一个 Android 应用程序 我需要检查设备中注册的每个单独帐户的同步设置 我知道我可以通过 ContentResolver 类来做到这一点 但我遇到了一些问题 我已设法获取设备上所有帐户的列表 但我不知道在运行时从哪里获取特定
  • 找不到符号 NOTIFICATION_SERVICE?

    package com test app import android app Notification import android app NotificationManager import android app PendingIn
  • 问题:为什么React Native Video不能全屏播放视频?

    我正在react native 0 57 7 中为android和ios创建一个应用程序并使用反应本机视频 https github com react native community react native video播放上传到的视频
  • CamcorderProfile.videoCodec 返回错误值

    根据docs https developer android com reference android media CamcorderProfile html 您可以使用CamcorderProfile获取设备默认视频编解码格式 然后将其
  • 错误:(23, 13) 无法解决:com.google.android.gms:play-services:11.2.0“安装存储库和同步项目”不起作用

    我正在尝试在我的 Android 应用程序中获取位置并更新到服务器 这是我的 Gradle 代码 我在这里包含了compile com google android gms play services 11 2 0 这条线是从文档中 htt
  • Git 实验分支还是单独的实验存储库?

    我正在开发一个 Android 应用程序 并且在整个开发周期中一直使用 Git 现在 我想构建并发布实验性功能 供人们尝试和安装 同时仍将原始的 稳定的应用程序安装在他们的设备上 现在 这意味着我需要使用不同的包名称 这会更改开发项目中的一

随机推荐

  • 当我浏览 http://localhost:8004/elmah.axd 时,它会生成 404 错误

    当我浏览时http localhost 8004 elmah axd它显示应用程序中发生的错误 但也会生成 404 错误 我该如何停止这个 404 错误 404错误的详细信息是 System Web HttpException 0x8000
  • Visual Studio 2010 条件引用

    我们这里有多个产品共享一些公共库 这些库是单独解决方案的一部分 因此它们可以由TFS独立构建 但问题是在开发过程中 必须修改公共库 将其编译为二进制文件 将其复制到公共位置 编译产品解决方案 为了避免这种情况 我想知道是否可以有条件引用 因
  • 查看控制器 EXTJS 4 中的参考

    我无法在控制器中获取组合框值 组合框视图的getter方法返回 function i return this constructor apply this arguments null 而不是查看对象实例 如果我使用 var combo t
  • 未找到 QWebView 库

    当我尝试添加QWebFrame 库 我找不到它 并且答复是没有这样的文件或目录 所以知道为什么这个库不存在 我按如下方式添加库 include
  • 在 Curses 模式下,stdout 和 stderr 去哪里?

    当curses处于活动状态时 stdout和stderr去哪里 import curses sys def test streams print stdout print gt gt sys stderr stderr def curses
  • ReactJS/Express Axios POST 返回 404,来自 Postman

    我不知道我在这里做错了什么 POST 方法适用于 Postman 但不适用于 React 前端 users js api users login route POST api users login desc Login user Retu
  • 如何在不知道c中大小的情况下迭代数组[重复]

    这个问题在这里已经有答案了 我有一个指向 C 中数组的指针 我想对其进行迭代 但我不知道其大小 int array 我不确定应该如何进行 我想我应该尝试通过以下方式找到尺寸 int array size sizeof array sizeo
  • 在javascript中从剪贴板抓取部分数据

    我复制了一个大约一百万行的 Excel 表格 当我查看系统上的剪贴板时 它似乎包含大约 250MB 的数据 但是 我only需要从中获取样式信息 例如 整个数据的大小 远 不到 1MB 有没有办法像读取文件或流一样读取剪贴板 以便我可以执行
  • 时髦的 jQuery mouseleave 行为

    我有一个类似菜单的下拉容器 通过绑定 mouseleave 事件来隐藏 div div
  • 如何获取变换/旋转的 SVG 路径点

    我通过设置属性 transform rotate 45 旋转了 SVG 路径元素 现在我如何获得旋转的 SVG 路径点 当我检查属性 d 时 它仍然显示原始点 未旋转 如果您通过 path getPointAtLength 获得点 则需要将
  • 寻找包装在用户定义的 SQL 函数中包装的外部 SQL 存储过程中的任何 OS/400 API 的工作示例

    目前有两个问题 1 下面的示例使用外部 SQL 存储过程包装 OS 400 API 该存储过程是 SQL 用户定义的表函数中的进一步包装器 编译和运行都没有错误 但当传递 作为作业名称 即当前作业 时 它会返回作业信息的空白和零 任何有关原
  • 如何控制 Firefox 中表格单元格的溢出?

    我有一个表格 希望第一列有一个垂直滚动条 这在 Chrome IE9 iPad 上的 Safari 中有效 但在 Firefox 中无效 为什么不 我究竟做错了什么 HTML table tbody tr td class col1 div
  • 使用 withColumn 从查找表动态添加新列

    我将 Spark sql 2 4 1v 与 Java 8 结合使用 我有一个场景 需要从查找表中动态添加列 我有带列的数据框 A B C X Y Z 当少数 原始 列 例如 A B C 值为 null 时 我需要采用 替换列 例如 X Y
  • 返回上一个片段无法正常工作

    我正在使用导航抽屉 当我选择一个项目时 它会正确地将前一个片段替换为我选择的片段 但是如果我打开另一个片段 然后单击后退按钮 它将转到上一个活动而不是上一个活动片段 这样做有什么问题吗 private void selectItem int
  • 另一个 getView 被多次调用

    我的每一项ListView包含一个ImageView and a TextView 这将填充远程信息 我得到了一个 URLImageView 因此我开始AsyncTask下载图像并调用setImageBitmap与下载的位图 这一切进展顺利
  • 导入 Apex 时出现“UnencryptedCookieSessionFactoryConfig”错误

    我正在尝试使用 Apex 每当我尝试导入它 或涉及它的任何内容 时 我都会得到以下回溯 Traceback most recent call last File
  • 以编程方式激活 UISearchBar 会阻止用户与其交互

    我在导航控制器内有一个简单的表格视图 工具栏可见 工具栏上有一个搜索按钮 表格视图的表头视图设置为我的UISearchBar 如果我向上滚动表格视图 然后点击搜索栏将其激活 一切都会正常发生 但是 如果我点击搜索按钮 以编程方式激活搜索栏
  • 返回 2 的幂的最快算法是什么?

    给定 n 2 k 假设 n 是 32 位整数 使用 C C 按位如何找到 k GCC has builtin clz http gcc gnu org onlinedocs gcc 4 3 4 gcc Other Builtins html
  • 如何将一组颜色“色调”替换为另一组颜色“色调”

    我正在寻找一个 神奇 功能 它将拍摄图像并返回副本 但将一组色调替换为另一组色调 例如我有一张红色鱼的图片 它有各种灰度和黑白 但本质上是各种红色色调 我想将它传递给这个 神奇 函数 并告诉它将其 Color Red 色调更改为等效的 Co
  • 将左边缘与中心对齐-RelativeLayout

    我有以下要求 大大简化 text 2必须从屏幕的中心开始 我只能使用线性布局的