web-dev-qa-db-fra.com

Centre d'alignement de la mise en page relative Android

J'essaie de créer une présentation d'élément d'activités de liste comme suit

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:layout_width="fill_parent"
    Android:layout_height="fill_parent">
    <ImageView 
        Android:contentDescription="ss"
        Android:id="@+id/place_category_icon"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:paddingRight="15dp"
        Android:paddingTop="10dp" Android:src="@drawable/marker"/>

    <TextView
        Android:id="@+id/place_distance"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_alignParentRight="true"
        Android:text="320" />

    <TextView
        Android:id="@+id/place_title"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_toRightOf="@+id/place_category_icon"
        Android:text="Place Name"
        Android:textColor="#FFFF00"
        Android:textSize="14sp"
        Android:textStyle="bold" />
</RelativeLayout>

Je veux que la mise en page soit affichée comme suit.

enter image description here

je veux aligner le centre horizontal 

enter image description here

38
Harsha M V

J'espère que ça va marcher

ÉDITÉ

  <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:layout_width="fill_parent"
    Android:layout_height="wrap_content"
    Android:paddingRight="15dp" >

    <ImageView
        Android:id="@+id/place_category_icon"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_centerVertical="true"
        Android:contentDescription="ss"
        Android:paddingTop="10dp"
        Android:src="@drawable/ic_launcher" />

    <TextView
        Android:id="@+id/place_distance"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_alignParentRight="true"
        Android:layout_centerVertical="true"
        Android:text="320" />

    <TextView
        Android:id="@+id/place_title"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_centerVertical="true"
        Android:layout_marginLeft="15dp"
        Android:layout_toRightOf="@+id/place_category_icon"
        Android:text="Place Name"
        Android:textColor="#FFFF00"
        Android:textSize="14sp"
        Android:textStyle="bold" />

</RelativeLayout>
40
Faizan

Si vous voulez le centrer, utilisezAndroid:layout_centerVertical="true"dans TextView.

29
Paresh Mayani

Cela fonctionnera certainement pour vous.

<RelativeLayout
    Android:layout_width="fill_parent"
    Android:layout_height="wrap_content"
    Android:background="@drawable/top_bg" >

    <Button
        Android:id="@+id/btn_report_lbAlert"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_alignParentLeft="true"
        Android:layout_centerVertical="true"
        Android:layout_marginLeft="@dimen/btn_back_margin_left"
        Android:background="@drawable/btn_edit" />

    <TextView
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_centerInParent="true"
        Android:layout_centerVertical="true"
        Android:text="FlitsLimburg"
        Android:textColor="@color/white"
        Android:textSize="@dimen/tv_header_text"
        Android:textStyle="bold" />

    <Button
        Android:id="@+id/btn_refresh_lbAlert"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_alignParentRight="true"
        Android:layout_centerVertical="true"
        Android:layout_marginRight="@dimen/btn_back_margin_right"
        Android:background="@drawable/btn_refresh" />
</RelativeLayout>
6
Mitul Goti

Utilisez ceci dans votre RelativeLayout

Android:gravity="center_vertical"

6
Renan Nery

Vous pouvez utiliser la gravité en alignant le haut et le bas.

 Android:gravity="center_vertical"
 Android:layout_alignTop="@id/place_category_icon"
 Android:layout_alignBottom="@id/place_category_icon"
3
DjP

Est-ce ce dont vous avez besoin?

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:layout_width="fill_parent"
    Android:layout_height="fill_parent" >

    <TableRow
        Android:layout_width="fill_parent"
        Android:layout_height="wrap_content"
        Android:layout_marginLeft="10dp"
        Android:layout_marginRight="10dp" >

        <ImageView
            Android:id="@+id/place_category_icon"
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content"
            Android:layout_weight="0"
            Android:contentDescription="ss"
            Android:paddingRight="15dp"
            Android:paddingTop="10dp"
            Android:src="@drawable/marker" />

        <TextView
            Android:id="@+id/place_title"
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content"
            Android:layout_weight="1"
            Android:text="Place Name"
            Android:textColor="#F00F00"
            Android:layout_gravity="center_vertical"
            Android:textSize="14sp"
            Android:textStyle="bold" />

        <TextView
            Android:id="@+id/place_distance"
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content"
            Android:layout_weight="0"
            Android:layout_gravity="center_vertical"
            Android:text="320" />
    </TableRow>

</RelativeLayout>
1
G_S