>

제한 레이아웃 높이에 따라 이미지 뷰 높이가 변경되는 레이아웃을 디자인하려고합니다.

그래서app : layout_constraintBottom_toTopOf = "@ id/tv_name",app : layout_constraintTop_toTopOf = "parent"android : layout_height = "제약 조건을 설정하려고했습니다. 0dp "를 Imageview에 가져 왔지만 작동하지 않습니다

출력으로 0dp 높이의 Imageview를 제공합니다

<?xml version="1.0" encoding="utf-8"?>
    <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/rv_item_home"
        android:layout_width="wrap_content"
        android:layout_height="300dp"
        android:paddingStart="0dp"
        android:paddingLeft="0dp"
        android:paddingEnd="16dp"
        android:paddingRight="16dp"
        android:paddingBottom="4dp">

        <com.makeramen.roundedimageview.RoundedImageView
            android:id="@+id/img_item_home"
            android:layout_width="wrap_content"
            android:layout_height="0dp"
            android:layout_marginStart="8dp"
            android:layout_marginLeft="8dp"
            android:layout_marginTop="8dp"
            android:scaleType="centerCrop"
            android:src="@drawable/logowithtext_trans"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintBottom_toTopOf="@id/tv_name"
            app:riv_corner_radius="20dp" />
        <TextView
            android:id="@+id/tv_name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="8dp"
            android:layout_marginLeft="8dp"
            android:layout_marginTop="8dp"
            android:layout_marginBottom="8dp"
            android:ellipsize="end"
            android:maxLines="1"
            android:text="@string/name"
            app:layout_constraintLeft_toLeftOf="parent"
           app:layout_constraintTop_toBottomOf="@id/img_item_home"
            />
        <ImageView
            android:id="@+id/img_share"
            android:layout_width="24dp"
            android:layout_height="24dp"
            android:layout_marginStart="8dp"
            android:layout_marginLeft="8dp"
            android:layout_marginTop="8dp"
            android:padding="4dp"
            android:src="@drawable/ic_share_dark"
            app:layout_constraintTop_toBottomOf="@id/img_item_home"
            app:layout_constraintRight_toRightOf="parent"/>
    </android.support.constraint.ConstraintLayout>

출력 이미지

원하는 이미지


  • 답변 # 1

    RoundedImageView 에서 제약 조건을 변경하십시오  그리고 TextView  아래와 같이 :

    <com.makeramen.roundedimageview.RoundedImageView
                android:id="@+id/img_item_home"
                android:layout_width="wrap_content"
                android:layout_height="0dp"
                ....
                app:layout_constraintLeft_toLeftOf="parent"
                app:layout_constraintTop_toTopOf="parent"
                app:layout_constraintBottom_toTopOf="@id/tv_name" />
    <TextView
          android:id="@+id/tv_name"
          ....
          app:layout_constraintLeft_toLeftOf="parent"
          app:layout_constraintTop_toBottomOf="@id/img_item_home"
          app:layout_constraintBottom_toBottomOf="parent" />
    
    

  • 답변 # 2

    RoundedImageView의 하단을 tv_name의 상단으로 제한하고 tv_name의 상단을 RoundedImageView의 하단으로 제한했습니다. tv_name의 상단 제약 조건이 명확하지 않기 때문에 이미지보기가 가능합니다. 크기를 감지하지 못했습니다. 백분율 가이드 라인을 만들고 조회수를 상단 및 하단으로 제한 할 수 있습니다.

    <android.support.constraint.Guideline
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/guideline"
        android:orientation="horizontal"
        app:layout_constraintGuide_percent="0.5"/>
    
    

    또는 다음과 같이 roundImageView에 DimensionRatio를 추가 할 수 있습니다 :

    <com.makeramen.roundedimageview.RoundedImageView
        android:id="@+id/img_item_home"
        app:riv_corner_radius="20dp"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:layout_marginStart="8dp"
        android:layout_marginLeft="8dp"
        android:layout_marginTop="8dp"
        android:scaleType="centerCrop"
        android:src="@drawable/sample_img"
        app:layout_constraintDimensionRatio="H,3:1"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        />
    <TextView
        android:id="@+id/tv_name"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintTop_toBottomOf="@id/img_item_home"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="8dp"
        android:layout_marginLeft="8dp"
        android:layout_marginTop="8dp"
        android:layout_marginBottom="8dp"
        android:ellipsize="end"
        android:maxLines="1"
        android:text="name" />
    
    

  • 이전 sql - 그대로 휴식을 유지하여 열의 첫 글자를 낮추십시오
  • 다음 java - orgeclipsejettyserversslSslSelectChannelConnector 새 Eclipse Jetty Jar에 누락 됨