无法将垂直分隔线添加到 Android TableLayout

2023-12-08

我想添加垂直分隔线TableLayout.

My TableLayout看起来像这样:

Table Layout

但我想在两者之间添加一条线(分隔线)textview每行都有 s。我尝试过放置一个View两个之间textviews 但它拉伸了行。

这是我针对上述布局的代码:

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/row"
android:layout_gravity="center"
android:showDividers="beginning"
android:orientation="horizontal"
android:stretchColumns="1"
android:background="@drawable/custom_background">

<TableRow>
    <TextView
        android:text="Name"
        android:padding="3dip" />

    <TextView
        android:text="Imran"
        android:gravity="left"
        android:padding="3dip" />
</TableRow>

<View
    android:layout_height="2dip"
    android:background="#FF909090" />

<TableRow>
    <TextView
        android:text="Name"
        android:padding="3dip" />

    <TextView
        android:text="Test"
        android:gravity="left"
        android:padding="3dip" />
</TableRow>

<View
    android:layout_height="2dip"
    android:background="#FF909090" />

<TableRow>
    <TextView
        android:text="Name"
        android:padding="3dip" />

    <TextView
        android:text="Test"
        android:gravity="left"
        android:padding="3dip" />
</TableRow>

我想实现以下布局:

Table Layout

任何人都可以帮我实现上述布局TableLayout或者任何其他方式?


我认为这个解决方案要容易得多。

您的表格布局:

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_margin="10dp"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:divider="@drawable/table_divider"
    android:showDividers="middle"
    android:shrinkColumns="*"
    android:background="@drawable/rounded_corners">

    <TableRow
        android:divider="@drawable/table_divider"
        android:showDividers="middle"
        android:weightSum="3">

        <TextView
            android:layout_width="0dp"
            android:layout_weight="1"
            android:padding="3dp"
            android:text="Column1"
            android:textStyle="bold" />

        <TextView
            android:layout_width="0dp"
            android:layout_weight="1"
            android:padding="3dp"
            android:text="Column2"
            android:textStyle="bold" />

        <TextView
            android:layout_width="0dp"
            android:layout_weight="1"
            android:padding="3dp"
            android:text="Column3"
            android:textStyle="bold" />
    </TableRow>

    <TableRow
        android:divider="@drawable/table_divider"
        android:showDividers="middle"
        android:weightSum="3">

        <TextView
            android:layout_width="0dp"
            android:layout_weight="1"
            android:padding="3dp"
            android:text="Column1" />

        <TextView
            android:layout_width="0dp"
            android:layout_weight="1"
            android:padding="3dp"
            android:text="Column2" />

        <TextView
            android:layout_width="0dp"
            android:layout_weight="1"
            android:padding="3dp"
            android:text="Column3" />
    </TableRow>

</TableLayout>

您的背景可绘制:

<?xml version="1.0" encoding="utf-8"?>
<solid android:color="#00000000" />
<stroke
    android:width="1dp"
    android:color="@android:color/black" />

<corners
    android:bottomLeftRadius="10dp"
    android:bottomRightRadius="10dp"
    android:topLeftRadius="10dp"
    android:topRightRadius="10dp" />

以及分隔线的形状:

table_divider.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <size android:height="1dp" />
    <size android:width="1dp" />
    <solid android:color="@android:color/black" />
</shape>

Result:

Result

如果您不需要背景,您可以在 TableLayout 和每个 TableRow 中执行此操作:

android:showDividers="beginning|middle|end"

没有背景的结果:

Result without the background

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

无法将垂直分隔线添加到 Android TableLayout 的相关文章

随机推荐

  • 将 System.in 重定向到 swing 组件

    大家好 我正在使用 Swing 和 Apache Commons 制作一个终端应用程序 我能够重定向System out and System err to a JTextArea很容易 但我该怎么做System in 我需要覆盖吗Inpu
  • 从文件路径创建位图/可绘制对象

    我正在尝试从现有文件路径创建位图或可绘制对象 String path intent getStringExtra FilePath BitmapFactory Options option new BitmapFactory Options
  • 更改 JOptionPane 中的图标

    我有一个扩展的类JOptionPane 其中有一个方法调用showConfirmDialog new JFrame JScrollPane jp Friends List 2 0 icon 有没有办法无需调用即可更改图标showConfir
  • R ggplot2 for循环绘制相同的数据

    我已经组合了一个简单的 for 循环来生成一系列图 然后使用 grid arrange 来绘制它们 我有两个问题 绘图的轴正确更改为列名称 但same数据绘制在每个图表上 添加断点并单步执行代码后 它似乎正确递增 所以我不确定为什么 我已将
  • 如何从列表中删除复选框项目

    我的列表中有 50 个列表项 现在我已经检查了 10 个项目 那么当我单击删除按钮时如何从列表视图中删除 删除 这 10 个检查项目 这是我的代码 请查看我的代码和响应错误在哪里 public class BookmarksJokes ex
  • scanf 不等待输入就返回0

    我从来没有用 C 编程过 今天我必须编写一些小代码 程序非常简单 我想将两个整数相加 但是当我试图检查给定的输入是否是数字并且第一个 scanf 返回 0 时 第二个 scanf 也返回 0 而无需等待输入 代码 int main int
  • 有没有一种css3方法可以在y轴上固定,让它在x轴上滚动?

    这个问题已经被问过无数次了 here there and 另一个地方就这样 然而我找不到真正好的答案 通常 我的表格在垂直方向上比视口深得多 我希望能够滚动表格 tbody 而其 thead 保持固定且可见 其中一些表格也比视口宽得多 这里
  • AWS Glue Python Shell 与 Oracle cx_Oracle 的连接问题

    我正在研究 AWS Glue Python Shell 我想将 python shell 与 Oracle 连接 我成功安装了 psycopg2 和 mysql 库 但是当我尝试使用 cx Oracle 连接 Oracle 时 我已成功安装
  • 使用 MultiIndex 计算 pandas hub_table 中的小计

    我在数据框中有以下原始数据 BROKER VENUE QUANTITY 0 BrokerA Venue 1 300 1 BrokerA Venue 2 400 2 BrokerA Venue 2 1400 3 BrokerA Venue 3
  • 如何在 Dagger Hilt 中获得 MVP?

    我无法使用模型视图演示者 MVP Hilt 方法编译代码 我收到此错误 MotionPoC app build generated source kapt debug com aria motionpoc di MotionApp Hilt
  • 键名称中的 MongoDB 点 (.)

    似乎 mongo 不允许插入带有点 或美元符号 的键 但是当我使用 mongoimport 工具导入其中包含点的 JSON 文件时 它工作得很好 驱动程序抱怨尝试插入该元素 这是文档在数据库中的样子 id oid make saab mod
  • 使用按钮切换 URL 参数

    我的网站上有一个按钮 可以使用 jQuery 切换元素的可见性 如何将该元素的状态存储在 cookie 或本地存储中 因此 当用户下次访问该网站时 它会被记住 我不想使用 jQuery 插件 另外我想在按钮单击时向 url 添加一个参数 t
  • C# 字符串转十进制解析

    我正在尝试在 C 中解析或将字符串转换为十进制 我需要能够解析字符串 例如 123 345 676 8999 美元相当于 123345676 90 我只需要保留小数点后 2 位 并且需要进行适当四舍五入 你们能建议一种方法来执行上述操作吗
  • Jquery 验证成功函数在重新验证时未清除有效标签?

    我有一个使用 JQuery Validate 插件来验证数据的表单 对于用户名字段 但不是表单上的其他字段 如果用户名可用 我想在字段旁边显示 用户名可用 我这几乎可以工作了 唯一有问题的是 当用户在输入有效值后编辑用户名时 以前的有效消息
  • 同时访问Android中的前置和后置摄像头[重复]

    这个问题在这里已经有答案了 我想同时访问前置和后置摄像头 这可能吗 根据我的测试 这是不可能完成的 如果一个应用程序已经在访问后置摄像头 而另一个应用程序正在尝试访问前置摄像头 则会崩溃 我在这里发现了一些以前的帖子 但没有答案 我们可以在
  • 如何在 React 中正确使用 Ajax

    我是 React JS 新手 我有这段代码创建了一个appdiv 与一些MusicPlayer标签元素 class App extends React Component render return div div
  • 如何在 HTML 中使用 jQuery 只获取没有标签的直接文本

    我有一个 HTML strong 1 strong TEXT THAT I ONLY NEED p some par p ul ul 我只需要 我只需要文字 它不在他的 HTML 中的任何标签内 我如何使用 jQuery 获取它 最好的方法
  • 无法将 cvxpy 安装到 AWS lambda 的 virtualenv 中

    我正在尝试在 AWS lambda 函数中运行 cvxpy 包 该包不在 SDK 中 因此我了解到我必须将依赖项编译为 zip 然后将 zip 上传到 lambda 函数中 我已经做了一些研究并尝试了下面的链接 但是当我尝试 pip ins
  • python shell:pickle整个状态

    当使用 ipython or code interact local locals 我希望有一种方法可以将整个程序地址空间保存到一个 pickle 文件中 以及类似的方法来加载这样的文件 然后开始在该上下文中执行 由于虚拟内存的存在 这对于
  • 无法将垂直分隔线添加到 Android TableLayout

    我想添加垂直分隔线TableLayout My TableLayout看起来像这样 但我想在两者之间添加一条线 分隔线 textview每行都有 s 我尝试过放置一个View两个之间textviews 但它拉伸了行 这是我针对上述布局的代码