带有图像和文本的 Android 布局

标签 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>

最佳答案

我建议你使用一个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>

关于带有图像和文本的 Android 布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24721045/

相关文章:

android - 无法在android中的imageview中清除或设置空白图像

android - java.lang.ArithmeticException : divide by zero in onActivityResult 异常

android - 如何使用 ContentValues 将 android sqlite 数据库列值更新为 null?

android - EditText 的子类看起来与 Android 4 上的普通 EditText 不同

android - 在 Android 上以编程方式设置 APN

android - 阿拉伯字体在android中显示不佳

android - 如何在选项卡式基本应用程序中制作像 skype 一样的聊天窗口

java - 地方上缺少标记

java - 删除操作栏

java - Android - 将多个图像合并为一个 ImageView