如何在Android中的表格布局中设置表格行中心水平

时间:2018-07-30 04:48:59

标签: android android-studio

<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <TableLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"

        >

        <TableRow
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="@dimen/margin_24"
            android:gravity="center_horizontal">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:orientation="horizontal">

                <ImageView
                    android:layout_width="@dimen/cl_48"
                    android:layout_height="@dimen/cl_48"
                    android:layout_gravity="center"
                    android:src="@drawable/vouchers_fdv_link_white" />


                <ImageView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:background="@drawable/voucher_lines" />

                <ImageView
                    android:layout_width="@dimen/cl_48"
                    android:layout_height="@dimen/cl_48"
                    android:layout_gravity="center"
                    android:src="@drawable/vouchers_fdv_link_blue" />
            </LinearLayout>
        </TableRow>

        <TableRow
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="@dimen/margin_15"
            android:layout_marginTop="@dimen/margin_15"
            android:gravity="center">

            <RelativeLayout
                android:id="@+id/rl_top_layout"
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <TextView

                    android:id="@+id/text_ponts"
                    style="@style/Typeface.H1.Bold.TextDarkGrey"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentLeft="true"
                    android:layout_alignParentStart="true"
                    android:gravity="center"
                    android:text="500pts"
                    android:textColor="@color/text_dark_grey"
                    android:textSize="@dimen/tfl_24"
                    android:textStyle="bold" />

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignEnd="@+id/text_ponts"
                    android:layout_alignParentLeft="true"
                    android:layout_alignParentStart="true"
                    android:layout_alignRight="@+id/text_ponts"
                    android:layout_below="@+id/text_ponts"
                    android:gravity="center"
                    android:text="@string/fdv_points"
                    android:textColor="@color/text_mid_grey"
                    android:textSize="@dimen/tfl_16" />


                <TextView
                    android:id="@+id/text_voucher"
                    style="@style/Typeface.H1.Bold.TextDarkGrey"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentEnd="true"
                    android:layout_alignParentRight="true"
                    android:gravity="center"
                    android:text="@string/fdv_voucher_value"
                    android:textColor="@color/text_dark_grey"
                    android:textSize="@dimen/tfl_24"
                    android:textStyle="bold" />

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignLeft="@id/text_voucher"
                    android:layout_alignParentEnd="true"
                    android:layout_alignParentRight="true"
                    android:layout_alignStart="@+id/text_voucher"
                    android:layout_below="@+id/text_voucher"
                    android:gravity="center"
                    android:text="@string/fdv_voucher"
                    android:textColor="@color/text_mid_grey"
                    android:textSize="@dimen/tfl_16" />

            </RelativeLayout>

        </TableRow>
    </TableLayout>

</FrameLayout>

这是我的xml布局代码,我保留在第一表行的两个表行中,在两个imageview和view内保持线性布局,在第二行中,保持相对布局,在其中保持4个文本视图,我必须保持水平居中到第一个表格行图像视图,但是当我设置该属性时,它会出现在左侧,请检查我的代码,向我建议如何修复它。当前,它要居中并从同一位置开始,同时我想将中心设置为水平。https://www.draw.io/#LUntitled%20Diagram.xml请看看这个预期的结果。

3 个答案:

答案 0 :(得分:0)

使用android:layout_gravity="center_horizontal"属性。

 <TableLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        >  
<TableRow
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="@dimen/margin_24"
            android:layout_gravity="center_horizontal">

答案 1 :(得分:0)

  

android:layout_gravity =“ center_horizo​​ntal”

这用于将布局内容水平设置在布局的中心

如果您想使其完全居中,则可能必须使用

  

android:layout_gravity =“ center”

答案 2 :(得分:0)

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >

<TableRow
    android:id="@+id/tableRow1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center_horizontal"
    android:background="#008000" >

    <TextView
        android:id="@+id/HeaderTextView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="header"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textColor="#FFF"
        android:textStyle="italic" />
</TableRow>

水平居中放置单元格的内容:TableLayout

 <TableRow>

<TextView
            android:layout_column="1"
            android:text="your content"
            android:background="#FFFF0000"
            android:layout_gravity="center_horizontal"
             />
</TableRow>