使用“约束布局”按水平百分比拟合项目

时间:2018-02-16 13:28:08

标签: android android-constraintlayout

我正在尝试在Android Studio 3.0.1中使用约束布局。

Gradle具有依赖性:

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:26.1.+'
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    implementation 'com.android.support:cardview-v7:26.1.+'
    implementation 'com.android.support:recyclerview-v7:26.1.+'
    implementation 'com.squareup.picasso:picasso:2.5.2'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.1'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
}

我正在尝试设计一个非常简单的布局。我想在它旁边放一个带有TextView的ImageView(100dp宽度)和整个可用空间的宽度。

<?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"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

<ImageView
    android:id="@+id/imageViewThumbnail"
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:layout_marginStart="8dp"
    android:layout_marginTop="8dp"
    android:contentDescription="@string/app_name"
    android:scaleType="fitStart"
    android:src="@drawable/placeholder"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"/>

<TextView
    android:id="@+id/textViewTitle"
    android:layout_width="220dp"
    android:layout_height="100dp"
    android:layout_marginEnd="8dp"
    android:layout_marginStart="8dp"
    android:layout_marginTop="8dp"
    android:maxLines="1"
    android:textSize="20sp"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toEndOf="@+id/imageViewThumbnail"
    app:layout_constraintTop_toTopOf="parent"/>

</android.support.constraint.ConstraintLayout>

当我将TextView的layout_width切换为0dp时出现我的问题。布局设计选项卡正确显示宽度,但当应用程序在设备上运行时,ImageView将消失。

我想我不了解Constraint Layout的工作原理。我也尝试使用百分比指南,但结果相同。

如何将图像宽度设置为100dp,将TextView宽度设置为父ConstraintLayout的剩余可用空间?

0 个答案:

没有答案