简体   繁体   中英

Android Layout with images and text

I am trying to make a layout with an image on the left side, then a text, and two images on the right side. I show you how it likes now:

布局

I want to put the two right icons on the right side, next to the limit of the screen. Then, if you see, when the text has more than one line, the two icons disappear and when the text is too long the icons are very small. I want a static space for every one of the icons.

<?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:orientation="horizontal" 
android:padding="6dip">

<ImageView
    android:id="@+id/icon"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:layout_alignParentLeft="true"
    android:layout_marginRight="6dip"
    android:layout_centerVertical="true"
    android:src="@drawable/ic_launcher"
    android:focusable="false"
    android:focusableInTouchMode="false"
    android:contentDescription="@string/cdLogo" />


 <LinearLayout
    android:id="@+id/lista2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:orientation="vertical"
    android:paddingRight="20dip"
    android:layout_toRightOf="@id/icon"
    android:layout_marginRight="30dip">

 <TextView
    android:id="@+id/tituloevento"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:gravity="left"
    android:textStyle="bold" />

 <TextView
    android:id="@+id/distritoevento"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:gravity="left"
    android:textSize="12sp"/>

 <TextView
    android:id="@+id/coorp0"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:visibility="gone" />


 <TextView
    android:id="@+id/coorp1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:visibility="gone" />


<TextView
    android:id="@+id/esgratis"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:visibility="gone" />

</LinearLayout>


<LinearLayout 
    android:id="@+id/caracteristicas"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent" 
    android:orientation="vertical"
    android:layout_toRightOf="@id/lista2"
    android:layout_alignParentRight="true">  


        <ImageView
            android:id="@+id/iconoMapa"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:contentDescription="@string/cdTieneCoor"
            android:layout_weight="0.5"/>  


        <ImageView
            android:id="@+id/iconoGratis"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:contentDescription="@string/cdGratisPago"
            android:layout_weight="0.5"/>

   </LinearLayout>
  </RelativeLayout>

I suggest you to use a LinearLayout as the top container, and distribute the space of the child elements with weight attributes. When using weight, you must set layout_width to 0dp for horizontal layouts or layout_heigth to 0dp for vertical layouts.

For example:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" >

    <ImageView
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="2" />

    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="5" >
    </LinearLayout>

    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="2" >
    </LinearLayout>

</LinearLayout>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM