Android 表格布局显示所有分隔线
Android Tablelayout show all dividers
Android 表格布局是否可以使用 xml 属性显示所有分隔线(见下图)?
我花了一些时间在互联网上搜索,发现很多人只是使用自定义视图。
在xml或其他更好的方法中有什么方法可以做到这一点吗?
示例(不介意不同的边框粗细):
您可以使用以下代码完成此操作
使用以下代码在可绘制文件夹中创建一个选择器xml
valuecellborder.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
<!-- <solid android:color="#dc6888"/> -->
<stroke android:width="0.1dp" android:color="#ffffff"
/>
<padding android:left="0dp" android:top="0dp"
android:right="0dp" android:bottom="0dp" />
</shape>
现在在您的布局中 xml TableRow 标记中的代码 put
android:background="@drawable/valuecellbroder"
在每个项目标签中,例如 Textview 背景
最简单的方法是让 TableLayout 或 GridLayout 的每个单元格成为包含该单元格的小部件的容器,在其中提供容器一个背景就是你的行。可以在 XML 中为该背景定义一个 ShapeDrawable,它可以根据单元格的实际要求很好地调整大小。
在我的例子中,我使用了这个方法。
我将 Table 背景设置为黑色,然后使用 TopMargin 将 table 行背景设置为白色。
在 .xml 中:
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#000000" />
在 .java 中:
TableRow tr = new TableRow(MainActivity.this);
tr.setBackgroundColor(resource.getColor(R.color.white));
int topMargin = 2; // border Thickness
TableLayout.LayoutParams tableRowParams =
new TableLayout.LayoutParams(TableLayout.LayoutParams.FILL_PARENT, 250); // 250 is my row height
tableRowParams.setMargins(0, topMargin, 0, 0);
tr.setLayoutParams(tableRowParams);
Android 表格布局是否可以使用 xml 属性显示所有分隔线(见下图)?
我花了一些时间在互联网上搜索,发现很多人只是使用自定义视图。
在xml或其他更好的方法中有什么方法可以做到这一点吗?
示例(不介意不同的边框粗细):
您可以使用以下代码完成此操作
使用以下代码在可绘制文件夹中创建一个选择器xml
valuecellborder.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
<!-- <solid android:color="#dc6888"/> -->
<stroke android:width="0.1dp" android:color="#ffffff"
/>
<padding android:left="0dp" android:top="0dp"
android:right="0dp" android:bottom="0dp" />
</shape>
现在在您的布局中 xml TableRow 标记中的代码 put
android:background="@drawable/valuecellbroder"
在每个项目标签中,例如 Textview 背景
最简单的方法是让 TableLayout 或 GridLayout 的每个单元格成为包含该单元格的小部件的容器,在其中提供容器一个背景就是你的行。可以在 XML 中为该背景定义一个 ShapeDrawable,它可以根据单元格的实际要求很好地调整大小。
在我的例子中,我使用了这个方法。
我将 Table 背景设置为黑色,然后使用 TopMargin 将 table 行背景设置为白色。
在 .xml 中:
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#000000" />
在 .java 中:
TableRow tr = new TableRow(MainActivity.this);
tr.setBackgroundColor(resource.getColor(R.color.white));
int topMargin = 2; // border Thickness
TableLayout.LayoutParams tableRowParams =
new TableLayout.LayoutParams(TableLayout.LayoutParams.FILL_PARENT, 250); // 250 is my row height
tableRowParams.setMargins(0, topMargin, 0, 0);
tr.setLayoutParams(tableRowParams);