左边的图片和中心的文字

时间:2014-07-30 06:52:11

标签: android layout

我希望自定义按钮中的小图标与左侧对齐,并且两个文本视图都以相对视图为中心。我怎样才能做到这一点? 您可以尝试将文本水平居中,然后尝试将图标对齐到左侧但不起作用。

 <TableRow
        android:gravity="center_horizontal"
        android:layout_marginTop="10dp">
        <RelativeLayout
            android:clickable="true"
            android:id="@+id/Imagesbtn"
            android:background="@drawable/MainButtonLayout"
            android:layout_height="100dp"
            android:layout_width="wrap_content"
            android:layout_marginBottom="20dp"
            android:gravity="center_horizontal"
            android:paddingTop="20dp"
            android:paddingBottom="20dp">
            <ImageView
                android:id="@+id/IconImage"
                android:layout_centerVertical="true"
                android:src="@drawable/ic_action_pictureblack"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true" />
            <TextView
                android:id="@+id/largeTextImages"
                android:text="Images"
                android:layout_toRightOf="@id/IconImage"
                android:layout_width="wrap_content"
                android:gravity="center_horizontal"
                android:textSize="30dp"
                android:layout_marginLeft="30dp"
                android:textColor="#000000"
                android:layout_height="wrap_content" />
            <TextView
                android:id="@+id/smallTextImages"
                android:text="Acces images"
                android:layout_below="@id/largeTextImages"
                android:textSize="10dp"
                android:layout_marginLeft="100dp"
                android:gravity="center_horizontal"
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:textColor="#000000" />
        </RelativeLayout>
    </TableRow>

这是MainButtonLayout:

<?xml version="1.0" encoding="UTF-8"?>
   <shape xmlns:android="http://schemas.android.com/apk/res/android">
   <solid android:color="#FFFFFF"/>
    <!--<stroke android:width="400dp" android:color="#B1BCBE" />-->
    <corners android:radius="4dip"/>
   <padding android:left="0dip" android:top="0dip" android:right="0dip"  android:bottom="0dip" />

    </shape>

enter image description here

我希望文本在中间对齐,以便文本的中心位于红线上,并且我希望所有图标都以黄线为中心。你明白了吗?:) 这是我得到的: enter image description here

2 个答案:

答案 0 :(得分:1)

如果您要将文本水平居中对齐,请尝试以下方法:

<RelativeLayout
    android:id="@+id/Imagesbtn"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginBottom="20dp"
    android:background="@drawable/mainbuttonlayout"
    android:clickable="true"
    android:paddingBottom="20dp"
    android:paddingTop="20dp" >

    <ImageView
        android:id="@+id/IconImage"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:src="@drawable/icon" />

    <TextView
        android:id="@+id/largeTextImages"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="30dp"
        android:layout_toRightOf="@id/IconImage"
        android:gravity="center_horizontal"
        android:text="Images"
        android:textColor="#000000"
        android:textSize="30dp" />

    <TextView
        android:id="@+id/smallTextImages"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/largeTextImages"
        android:layout_marginLeft="30dp"
        android:layout_toRightOf="@id/IconImage"
        android:gravity="center_horizontal"
        android:text="Acces images"
        android:textColor="#000000"
        android:textSize="10dp" />
</RelativeLayout>  

示例

enter image description here

EDIT1

    <ImageView
        android:id="@+id/IconImage"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_toLeftOf="@id/largeTextImages"
        android:src="@drawable/ic_launcher"  />

    <TextView
        android:id="@+id/largeTextImages"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="30dp"
        android:layout_centerHorizontal="true"
        android:text="Images"
        android:textColor="#000000"
        android:textSize="30dp" />

    <TextView
        android:id="@+id/smallTextImages"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/largeTextImages"
        android:layout_marginLeft="30dp"
        android:gravity="center_horizontal"
        android:layout_centerHorizontal="true"
        android:text="Acces images"
        android:textColor="#000000"
        android:textSize="10dp" />
</RelativeLayout>

图像:

enter image description here

答案 1 :(得分:0)

从代码中删除TableRow。如果您还没有使用TableLayout,那么也不需要TableRow

尝试以下代码:

 <RelativeLayout
        android:id="@+id/Imagesbtn"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="20dp"
        android:background="@drawable/mainbuttonlayout"
        android:clickable="true"
        android:paddingBottom="20dp"
        android:paddingTop="20dp" >

        <ImageView
            android:id="@+id/IconImage"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:src="@drawable/icon" />

        <TextView
            android:id="@+id/largeTextImages"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="30dp"
            android:layout_toRightOf="@id/IconImage"
            android:gravity="center_horizontal"
            android:text="Images"
            android:textColor="#000000"
            android:textSize="30dp" />

        <TextView
            android:id="@+id/smallTextImages"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/largeTextImages"
            android:layout_marginLeft="30dp"
            android:layout_toRightOf="@id/IconImage"
            android:gravity="center_horizontal"
            android:text="Acces images"
            android:textColor="#000000"
            android:textSize="10dp" />
    </RelativeLayout>

enter image description here