我建了一個片段(與ConstraintLayout),它看起來像這樣: Fragment image 我想重新使用它,例如加載它(添加到fragmentManager)到活動的「片段持有人」,但如果該持有人太小,圖像將互相覆蓋。 看到這個: Image problem 因此,圖像不會調整大小...有沒有解決方案來實現自動調整大小?拉伸ConstraintLayout及其內容
感謝, 佐爾坦
我建了一個片段(與ConstraintLayout),它看起來像這樣: Fragment image 我想重新使用它,例如加載它(添加到fragmentManager)到活動的「片段持有人」,但如果該持有人太小,圖像將互相覆蓋。 看到這個: Image problem 因此,圖像不會調整大小...有沒有解決方案來實現自動調整大小?拉伸ConstraintLayout及其內容
感謝, 佐爾坦
將在自己的ConstraintLayout
每個ImageViews
的。 ImageViews
的layout_width
和layout_height
應該是wrap_content
。其母公司ConstraintViews
的layout_width
和layout_height
應分別爲match_parent
和wrap_content
。
錨左ConstraintView
到頂部,並開始父,右ConstraintView
使用layout_constraintTop_toTopOf
,layout_constraintStart_toStartOf
,並且layout_constraintEnd_toEndOf
頂部和結束。
同時使用layout_marginTop
和layout_marginLeft
爲左側添加頁邊距ConstraintViews
; layout_marginTop
和layout_marginRight
的權利。
接下來,創建一個vertical
Guideline
作爲您的片段的孩子。將其layout_constraintGuide_percent
設置爲0.5
。給它@+id/guideline
的id
。
設置左ConstraintView's
layout_constraintRight_toLeftOf
至@+id/guideline
,右ConstraintView's
layout_constraintLeft_toRightOf
到@+id/guideline
爲好。
如果片段不是那麼寬,這應該縮小ImageViews
的大小。
如果你希望這是兩個圖像之間的最小間隙,你可以添加layout_marginRight
向左ConstraintView
,並layout_marginLeft
向右ConstraintView
。將每個設置爲2dp
將使最小差距爲4dp
。
這裏是一個佈局文件示例。編輯容器ConstraintLayout's
layout_width
看到它在行動:
<?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:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.constraint.ConstraintLayout
android:layout_width="100dp"
android:layout_height="300dp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
android:background="#333333">
<android.support.constraint.Guideline
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/guideline"
app:layout_constraintGuide_percent="0.5"
android:orientation="vertical"/>
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
android:layout_marginTop="16dp"
android:layout_marginLeft="16dp"
app:layout_constraintRight_toLeftOf="@+id/guideline"
android:layout_marginRight="2dp"
android:background="#FF0000">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:srcCompat="@mipmap/ic_launcher"
tools:layout_editor_absoluteY="0dp"
tools:layout_editor_absoluteX="0dp"/>
</android.support.constraint.ConstraintLayout>
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:layout_marginTop="16dp"
android:layout_marginRight="16dp"
app:layout_constraintLeft_toRightOf="@+id/guideline"
android:layout_marginLeft="2dp"
android:background="#00FF00">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:srcCompat="@mipmap/ic_launcher"
tools:layout_editor_absoluteY="0dp"
tools:layout_editor_absoluteX="0dp"/>
</android.support.constraint.ConstraintLayout>
</android.support.constraint.ConstraintLayout>
不錯的辦法! 我試圖簡化我的真實問題,所以我說我有兩個圖像,但我有四個...在一行中,我有4行...所以我有16個圖像。 :) – Zoltan
(突然發表我的評論...) 所以,你的解決方案看起來不錯,但我不能用來解決我的真正問題... :( 更重要的是,我遇到了一個奇怪的Android Studio問題: 在文本模式我向我的圖像寫入'match_parent',然後點擊設計,然後返回文本,Studio將它替換爲固定值!:O爲什麼? – Zoltan