android 中使用TableLayout实现表单布局效果

使用TableLayout表格布局实现表单效果

image.png

1、核心知识点

image.png
  android:divider="@drawable/table_v_divider"
  android:showDividers="middle|beginning|end"

2、样式代码

  • style样式
<?xml version="1.0" encoding="utf-8"?>
<resources>

    <!--灰色8a8a8a18号字体,130宽,主要用于确认个人信息表格样式-->
    <style name="style_table_gray6_18_130_text">
        <item name="android:layout_width">@dimen/dimen_0</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:textSize">@dimen/text_18</item>
        <item name="android:textColor">@color/c_gray_6</item>
        <item name="android:gravity">center</item>
        <item name="android:padding">@dimen/dimen_10</item>
    </style>



    <!--黑色1c1c1c18号字体-->
    <style name="style_table_black1_18_text">
        <item name="android:layout_width">@dimen/dimen_0</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:textSize">@dimen/text_18</item>
        <item name="android:textColor">@color/c_black_1</item>
        <item name="android:gravity">center_vertical</item>
        <item name="android:singleLine">true</item>
        <item name="android:ellipsize">end</item>
        <item name="android:padding">@dimen/dimen_10</item>
    </style>

</resources>
  • table_v_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" />

    <solid android:color="@color/c_gray_6" />

</shape>
  • table_h_divider.xml文件
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">

    <size
        android:width="1dp" />

    <solid android:color="@color/c_gray_6" />

</shape>
  • 颜色
    <color name="c_gray_6">#8a8a8a</color>

3、完整代码如下

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    style="@style/style_match_background_content">


    <LinearLayout
        style="@style/style_match_wrap_content"
        android:layout_marginTop="@dimen/dimen_30"
        android:gravity="center_vertical"
        android:orientation="horizontal"
        android:padding="@dimen/dimen_10">

        <android.support.v4.widget.Space
            style="@style/style_black_2_26_text"
            android:layout_weight="1" />

        <TextView
            style="@style/style_black_2_26_text"
            android:gravity="right"
            android:layout_weight="1"
            android:layout_width="@dimen/dimen_0"
            android:text="险种类型:" />

        <EditText
            android:id="@+id/et_plant_type"
            style="@style/style_black_2_26_text"
            android:layout_weight="3"
            android:layout_width="@dimen/dimen_0"
            android:background="@drawable/bg_et_down_selector"
            android:hint="请选择" />

        <android.support.v4.widget.Space
            style="@style/style_black_2_26_text"
            android:layout_weight="1" />

    </LinearLayout>


    <TableLayout
        android:layout_margin="30dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:divider="@drawable/table_v_divider"
        android:orientation="vertical"
        android:showDividers="middle|beginning|end">

        <TableRow
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:divider="@drawable/table_h_divider"
            android:orientation="horizontal"
            android:showDividers="middle|beginning|end">

            <TextView
                style="@style/style_table_gray6_18_130_text"
                android:layout_width="0dp"
                android:layout_weight="10"
                android:text="基本信息" />

        </TableRow>

        <TableRow
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:divider="@drawable/table_h_divider"
            android:orientation="horizontal"
            android:showDividers="middle|beginning|end">

            <TextView
                style="@style/style_table_gray6_18_130_text"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:text="姓名" />

            <TextView
                android:id="@+id/tv_table_name"
                style="@style/style_table_black1_18_text"
                android:layout_width="0dp"
                android:layout_weight="2"
                tools:text="基本信息" />

            <TextView
                style="@style/style_table_gray6_18_130_text"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:text="性别" />

            <TextView
                android:id="@+id/tv_table_sex"
                style="@style/style_table_black1_18_text"
                android:layout_width="0dp"
                android:layout_weight="2"
                tools:text="男" />

            <TextView
                style="@style/style_table_gray6_18_130_text"
                android:layout_width="0dp"
                android:layout_weight="2"
                android:text="身份证号" />

            <TextView
                android:id="@+id/tv_table_idnum"
                style="@style/style_table_black1_18_text"
                android:layout_width="0dp"
                android:layout_weight="2"
                tools:text="444444444444444444" />

        </TableRow>

        <TableRow
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:divider="@drawable/table_h_divider"
            android:orientation="horizontal"
            android:showDividers="middle|beginning|end">

            <TextView
                style="@style/style_table_gray6_18_130_text"
                android:layout_width="0dp"
                android:layout_weight="3"
                android:text="个人社保编号" />

            <TextView
                android:id="@+id/tv_table_ss_num"
                style="@style/style_table_black1_18_text"
                android:layout_width="0dp"
                android:layout_weight="1"
                tools:text="110" />

            <TextView
                style="@style/style_table_gray6_18_130_text"
                android:layout_width="0dp"
                android:layout_weight="2"
                android:text="现参保单位" />

            <TextView
                android:id="@+id/tv_table_ss_current_insured_unit"
                style="@style/style_table_black1_18_text"
                android:layout_width="0dp"
                android:layout_weight="4"
                tools:text="110" />
        </TableRow>

        <TableRow
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:divider="@drawable/table_h_divider"
            android:orientation="horizontal"
            android:showDividers="middle|beginning|end">

            <TextView
                style="@style/style_table_gray6_18_130_text"
                android:layout_width="0dp"
                android:layout_weight="10"
                android:text="参保情况" />

        </TableRow>


        <TableRow
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:divider="@drawable/table_h_divider"
            android:orientation="horizontal"
            android:showDividers="middle|beginning|end">

            <TextView
                style="@style/style_table_gray6_18_130_text"
                android:layout_width="0dp"
                android:layout_weight="3"
                android:text="参保状态" />

            <TextView
                android:id="@+id/tv_table_insured_state"
                style="@style/style_table_black1_18_text"
                android:layout_width="0dp"
                android:layout_weight="3"
                tools:text="参保缴费" />

            <TextView
                style="@style/style_table_gray6_18_130_text"
                android:layout_width="0dp"
                android:layout_weight="2"
                android:text="现缴费基数" />

            <TextView
                android:id="@+id/tv_table_payment_base"
                style="@style/style_table_black1_18_text"
                android:layout_width="0dp"
                android:layout_weight="2"
                tools:text="110" />
        </TableRow>

        <TableRow
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:divider="@drawable/table_h_divider"
            android:orientation="horizontal"
            android:showDividers="middle|beginning|end">

            <TextView
                style="@style/style_table_gray6_18_130_text"
                android:layout_width="0dp"
                android:layout_weight="3"
                android:text="参保起始时间" />

            <TextView
                android:id="@+id/tv_table_start_time"
                style="@style/style_table_black1_18_text"
                android:layout_width="0dp"
                android:layout_weight="3"
                tools:text="2018-06-12" />

            <TextView
                style="@style/style_table_gray6_18_130_text"
                android:layout_width="0dp"
                android:layout_weight="2"
                android:text="缴费截止时间" />

            <TextView
                android:id="@+id/tv_table_pay_end_time"
                style="@style/style_table_black1_18_text"
                android:layout_width="0dp"
                android:layout_weight="2"
                tools:text="2018-06-12" />
        </TableRow>

        <TableRow
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:divider="@drawable/table_h_divider"
            android:orientation="horizontal"
            android:showDividers="middle|beginning|end">

            <TextView
                style="@style/style_table_gray6_18_130_text"
                android:layout_width="0dp"
                android:layout_weight="3"
                android:text="个人账号总月数" />

            <TextView
                android:id="@+id/tv_table_total_accounts"
                style="@style/style_table_black1_18_text"
                android:layout_width="0dp"
                android:layout_weight="3"
                tools:text="2018-06-12" />

            <TextView
                style="@style/style_table_gray6_18_130_text"
                android:layout_width="0dp"
                android:layout_weight="2"
                android:text="个人账号存在额" />

            <TextView
                android:id="@+id/tv_table_personal_account_number"
                style="@style/style_table_black1_18_text"
                android:layout_width="0dp"
                android:layout_weight="2"
                tools:text="2018-06-12" />
        </TableRow>

        <TableRow
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:divider="@drawable/table_h_divider"
            android:orientation="horizontal"
            android:showDividers="middle|beginning|end">

            <TextView
                style="@style/style_table_gray6_18_130_text"
                android:layout_width="0dp"
                android:layout_weight="3"
                android:text="截止上月欠缴月数" />

            <TextView
                android:id="@+id/tv_table_not_months"
                style="@style/style_table_black1_18_text"
                android:layout_width="0dp"
                android:layout_weight="3"
                tools:text="2018-06-12" />

            <TextView
                style="@style/style_table_gray6_18_130_text"
                android:layout_width="0dp"
                android:layout_weight="2"
                android:text="截止上月欠费金额" />

            <TextView
                android:id="@+id/tv_table_owe_the_amount"
                style="@style/style_table_black1_18_text"
                android:layout_width="0dp"
                android:layout_weight="2"
                tools:text="2018-06-12" />
        </TableRow>

        <TableRow
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:divider="@drawable/table_h_divider"
            android:orientation="horizontal"
            android:showDividers="middle|beginning|end">

            <TextView
                style="@style/style_table_gray6_18_130_text"
                android:layout_width="0dp"
                android:layout_weight="10"
                android:text="其它" />

        </TableRow>


        <TableRow
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:divider="@drawable/table_h_divider"
            android:orientation="horizontal"
            android:showDividers="middle|beginning|end">

            <TextView
                style="@style/style_table_gray6_18_130_text"
                android:layout_width="0dp"
                android:layout_weight="3"
                android:text="中断开始时间" />

            <TextView
                android:id="@+id/tv_table_break_start_time"
                style="@style/style_table_black1_18_text"
                android:layout_width="0dp"
                android:layout_weight="3"
                tools:text="2018-06-12" />

            <TextView
                style="@style/style_table_gray6_18_130_text"
                android:layout_width="0dp"
                android:layout_weight="2"
                android:text="中断截止时间" />

            <TextView
                android:id="@+id/tv_table_break_end_time"
                style="@style/style_table_black1_18_text"
                android:layout_width="0dp"
                android:layout_weight="2"
                tools:text="2018-06-12" />
        </TableRow>

    </TableLayout>


</LinearLayout>
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,053评论 3 119
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 11,855评论 0 17
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,687评论 1 92
  • 万众瞩目的HobbyShow 现在已经开始啦!现场的朋友们都把自己cos成了喜爱的动漫角色,真是一场cos盛会。...
    安静的静静阅读 3,418评论 0 2
  • 走了这样久。
    沫沫泡阅读 1,072评论 0 1

友情链接更多精彩内容