高度相同的组件

时间:2018-04-07 15:57:25

标签: android android-layout

有没有办法让LinearLayout与TextView具有相同的高度?

<LinearLayout
  android:layout_width="match_parent"
  android:layout_height="16dp"
  android:orientation="vertical"
  android:background="@color/blue"/>

<ImageView
  android:layout_width="20dp"
  android:layout_height="20dp"
  android:layout_alignParentRight="true"
  app:srcCompat="@drawable/edit"
  android:layout_alignParentEnd="true" />

<ImageView
  android:id="@+id/lista_curso_personalizada_imagem"
  android:layout_width="100dp"
  android:layout_height="100dp"
  android:layout_marginBottom="5dp"
  android:layout_marginTop="5dp"
  android:layout_marginLeft="5dp"
  app:srcCompat="@drawable/avatar"
  android:layout_marginStart="5dp" />

<TextView
  android:id="@+id/lista_personalizada_nome"
  android:layout_width="300dp"
  android:layout_height="wrap_content"
  android:layout_alignParentTop="true"
  android:layout_toEndOf="@+id/lista_curso_personalizada_imagem"
  android:layout_toRightOf="@+id/lista_curso_personalizada_imagem"
  android:text="Titulo"
  android:textSize="12sp"
  android:textStyle="bold" />

我想要

android: layout_height = ""

我的LinearLayout与TextView lista_personalizada_nome具有相同的大小,请记住这应该是wrap_content,因为文本会更改大小。有没有办法做到这一点?我知道按大小你设置一个默认值,但是有办法让这个值等于TextView的值吗?

编辑:TextView不能保留在此LinearLayout

更好地解释:

所有内容都在cardview中,LinearLayout用作人名的背景

<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:app="http://schemas.android.com/apk/res-auto"
  android:id="@+id/cli"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:layout_margin="3dp"
  android:background="#FEFEFE"
  app:cardCornerRadius="4dp">

  <RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <LinearLayout
      android:layout_width="match_parent"
      android:layout_height="16dp"
      android:orientation="vertical"
      android:background="@color/blue"/>

    <ImageView
      android:layout_width="20dp"
      android:layout_height="20dp"
      android:layout_alignParentRight="true"
      app:srcCompat="@drawable/edit"
      android:layout_alignParentEnd="true" />

    <ImageView
      android:id="@+id/lista_curso_personalizada_imagem"
      android:layout_width="100dp"
      android:layout_height="100dp"
      android:layout_marginBottom="5dp"
      android:layout_marginTop="5dp"
      android:layout_marginLeft="5dp"
      app:srcCompat="@drawable/avatar"
      android:layout_marginStart="5dp" />

    <TextView
      android:id="@+id/lista_personalizada_nome"
      android:layout_width="300dp"
      android:layout_height="wrap_content"
      android:layout_alignParentTop="true"
      android:layout_toEndOf="@+id/lista_curso_personalizada_imagem"
      android:layout_toRightOf="@+id/lista_curso_personalizada_imagem"
      android:text="Titulo"
      android:textSize="12sp"
      android:textStyle="bold" />

    <TextView
      android:id="@+id/lista_personalizada_celular"
      android:layout_width="300dp"
      android:layout_height="wrap_content"
      android:layout_below="@+id/lista_personalizada_nome"
      android:layout_toEndOf="@+id/lista_curso_personalizada_imagem"
      android:layout_toRightOf="@+id/lista_curso_personalizada_imagem"
      android:text="celular"
      android:textSize="12sp"/>

    <TextView
      android:id="@+id/lista_personalizada_renda"
      android:layout_width="300dp"
      android:layout_height="wrap_content"
      android:layout_below="@+id/lista_personalizada_celular"
      android:layout_toEndOf="@+id/lista_curso_personalizada_imagem"
      android:layout_toRightOf="@+id/lista_curso_personalizada_imagem"
      android:text="renda"
      android:textSize="12sp"
      android:textStyle="bold" />

    <TextView
      android:id="@+id/lista_personalizada_limite"
      android:layout_width="300dp"
      android:layout_height="wrap_content"
      android:layout_below="@+id/lista_personalizada_renda"
      android:layout_toEndOf="@+id/lista_curso_personalizada_imagem"
      android:layout_toRightOf="@+id/lista_curso_personalizada_imagem"
      android:text="limite"
      android:textSize="12sp" />

    <TextView
      android:id="@+id/lista_personalizada_bandeira"
      android:layout_width="300dp"
      android:layout_height="wrap_content"
      android:layout_below="@+id/lista_personalizada_status"
      android:layout_toEndOf="@+id/lista_curso_personalizada_imagem"
      android:layout_toRightOf="@+id/lista_curso_personalizada_imagem"
      android:text="bandeira"
      android:textSize="12sp"
      android:textStyle="bold" />

    <TextView
      android:id="@+id/lista_personalizada_status"
      android:layout_width="300dp"
      android:layout_height="wrap_content"
      android:layout_below="@+id/lista_personalizada_limite"
      android:layout_toEndOf="@+id/lista_curso_personalizada_imagem"
      android:layout_toRightOf="@+id/lista_curso_personalizada_imagem"
      android:text="status"
      android:textSize="12sp"
      android:textStyle="bold" />

    <TextView
      android:id="@+id/lista_personalizada_id"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_below="@+id/lista_personalizada_limite"
      android:layout_toEndOf="@+id/lista_curso_personalizada_imagem"
      android:layout_toRightOf="@+id/lista_curso_personalizada_imagem"
      android:text="id"
      android:visibility="gone" />

    </RelativeLayout>
</android.support.v7.widget.CardView>

结果如下:

enter image description here

2 个答案:

答案 0 :(得分:2)

要在LinearLayout数量增加时展开TextView展开,您需要向LinearLayout添加以下属性:

<LinearLayout
          ...
          android:layout_alignParentTop="true"
          android:layout_alignBottom="@+id/lista_personalizada_nome"
          .../>

<小时/> 希望它有所帮助。

答案 1 :(得分:1)

您应该将文本视图(和其他组件)放在线性布局中。 或(更好)将颜色属性赋予相对布局并删除线性布局。