我想要实现 ImageView 和按钮组的宽高比,如下图 1 所示。图2是我目前的 Activity 状态。我希望达到与图 1 中的应用程序相同的状态。
编辑1 - 图片一上的应用程序始终是 ImageView +按钮组,所有设备,所以这不是宽高比的问题,而是其他问题
ImageView 和按钮组包装在约束布局中,该布局位于 ScrollView 内部。
图片1 - 图2-
下面的代码是关于 ImageView 和按钮组的部分。
<ImageView
android:id="@+id/poster_image"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintBottom_toTopOf="@id/buttons_group"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/buttons_group"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@id/poster_image"
app:layout_constraintBottom_toTopOf="@id/imdb_placeholder"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="parent">
<Button
android:id="@+id/trailer_button"
android:layout_width="48dp"
android:layout_height="48dp"
android:background="@drawable/ic_play"
android:foreground="?android:attr/selectableItemBackground"
android:scaleType="centerCrop"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@+id/watch_later_button"
app:layout_constraintTop_toTopOf="@id/buttons_group"
app:layout_constraintBottom_toBottomOf="@id/buttons_group"/>
<Button
android:id="@+id/watch_later_button"
android:layout_width="48dp"
android:layout_height="48dp"
android:background="@drawable/ic_watch_later"
android:foreground="?android:attr/selectableItemBackground"
android:scaleType="centerCrop"
app:layout_constraintTop_toTopOf="@id/buttons_group"
app:layout_constraintBottom_toBottomOf="@id/buttons_group"
app:layout_constraintStart_toEndOf="@+id/trailer_button"
app:layout_constraintEnd_toStartOf="@+id/share_movie_button"/>
<Button
android:id="@+id/share_movie_button"
android:layout_width="48dp"
android:layout_height="48dp"
android:background="@drawable/ic_share"
android:foreground="?android:attr/selectableItemBackground"
android:scaleType="centerCrop"
app:layout_constraintTop_toTopOf="@id/buttons_group"
app:layout_constraintBottom_toBottomOf="@id/buttons_group"
app:layout_constraintStart_toEndOf="@+id/watch_later_button"
app:layout_constraintEnd_toEndOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
最佳答案
使用RecyclerView
您可以提供多种 View 类型。
enum class ViewType {
HEADER_CONTROLS,
ADDITIONAL_CONTROLS,
COMMENTS
}
class Adapter() {
fun getViewType(position: Int): Int {
when (position) {
0 -> ViewType.HEADER_CONTROLS.ordinal
// ETC
}
}
}
然后您可以将标题 View 创建为匹配父 View ,它将适当滚动。
关于java - 如何像此应用程序中那样保持 ImageView 的纵横比? [Android,ImageView,长宽比,ScrollView],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57511770/