我对获取clipChildren有疑问。我有一个固定宽度的HorizontalScrollView,想显示超出范围的子项。 ScrollView具有矩形之一的固定宽度。我的问题是我只能看到第一个矩形,但我想同时看到两个矩形。所以这是当前的样子:
这就是我想要的:
我认为clipChildren正在解决这个问题。 ScrollView具有我想要的行为的固定宽度原因很重要。这是我的代码:
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent">
<HorizontalScrollView
android:id="@+id/scrollview"
android:layout_width="210dp"
android:layout_height="190dp"
android:scrollbars="none"
android:clipChildren="false"
android:clipToPadding="false"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0">
<LinearLayout
android:id="@+id/content"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="horizontal"
android:paddingStart="28dp"
android:paddingEnd="0dp" />
</HorizontalScrollView>
</androidx.constraintlayout.widget.ConstraintLayout>
我以编程方式将视图添加到scrollview。所以这里没什么特别的。只是:
content.addView(childView);
如此处评论所述,代码如何获取childView及其结构:
final CarouselView childView = new CarouselView(context);
布局:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="210dp"
android:layout_height="180dp"
android:orientation="vertical">
<!-- content -->
</androidx.constraintlayout.widget.ConstraintLayout>
答案 0 :(得分:0)
解决方案是将其添加到父布局:
android:clipChildren="false"
android:clipToPadding="false"
父项必须更改为:
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent">
收件人:
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:clipChildren="false"
android:clipToPadding="false"
android:layout_width="match_parent">