带有图像和文字的Android版面

时间:2014-07-13 08:56:04

标签: android android-layout imageview

我正在尝试使用左侧的图像,然后是文本和右侧的两个图像进行布局。我现在告诉你它是怎么样的:

layout

我想将右边两个图标放在屏幕右侧的右侧。然后,如果您看到,当文本有多行时,两个图标消失,当文本太长时,图标非常小。我希望每个图标都有一个静态空间。

<?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>

1 个答案:

答案 0 :(得分:1)

我建议您使用LinearLayout作为顶部容器,并使用weight属性分发子元素的空间。使用权重时,您必须将layout_width设置为0dp以获得水平布局,或将layout_heigth设置为0dp以获得垂直布局。

例如:

<?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>