作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 ConstraintLayout (CL) 内有一个 TextView,它位于 CardView (CV) 内。 CL 是 CV 内部的唯一元素,在 CL 内部有几个不同的 ImageView 和 TextView。
文本和图像通过 RecyclerViewAdapter 和 ViewHolder 以编程方式填充。当最后一个 TextView 中的文本变得足够长时,填充开始出现在卡片 View 的顶部。
带有测试字符串的布局 xml:
<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView 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/viewStopScheduleItem_cardView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="1dp"
android:clickable="true"
android:focusable="true"
app:cardBackgroundColor="@android:color/white"
app:cardCornerRadius="0dp"
app:cardElevation="4dp">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/viewStopScheduleItem_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:layout_editor_absoluteX="0dp"
tools:layout_editor_absoluteY="0dp">
<ImageView
android:id="@+id/viewStopScheduleItem_barImageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@android:drawable/status_bar_item_background"
android:layout_marginLeft="8dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:layout_marginTop="0dp"
app:layout_constraintBottom_toBottomOf="parent"
android:layout_marginBottom="8dp" />
<ImageView
android:id="@+id/viewStopScheduleItem_busImageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@drawable/ic_directions_bus_white"
app:layout_constraintLeft_toRightOf="@+id/viewStopScheduleItem_barImageView"
android:layout_marginLeft="8dp"
app:layout_constraintTop_toTopOf="@+id/viewStopScheduleItem_barImageView"
android:layout_marginTop="8dp"
app:layout_constraintBottom_toBottomOf="@+id/viewStopScheduleItem_barImageView"
android:layout_marginBottom="8dp" />
<TextView
android:id="@+id/viewStopScheduleItem_routeShortNameTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView"
app:layout_constraintTop_toTopOf="@+id/viewStopScheduleItem_routeLongNameTextView"
android:layout_marginTop="0dp"
app:layout_constraintLeft_toRightOf="@+id/viewStopScheduleItem_routeLongNameTextView"
android:layout_marginLeft="8dp" />
<TextView
android:id="@+id/viewStopScheduleItem_routeLongNameTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView"
app:layout_constraintLeft_toRightOf="@+id/viewStopScheduleItem_busImageView"
android:layout_marginLeft="8dp"
app:layout_constraintTop_toTopOf="@+id/viewStopScheduleItem_barImageView"
android:layout_marginTop="8dp" />
<TextView
android:id="@+id/viewStopScheduleItem_stopTime1TextView"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM"
android:textAlignment="viewStart"
android:layout_gravity="start"
app:layout_constraintLeft_toRightOf="@+id/viewStopScheduleItem_busImageView"
android:layout_marginLeft="8dp"
android:layout_marginTop="8dp"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/viewStopScheduleItem_routeLongNameTextView"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"/>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.cardview.widget.CardView>
字符串越长,出现的填充就越多。
我尝试过的:
那么,我该如何去掉填充呢?
我附上了设计的截图
导致填充的长字符串
无填充的短字符串
最佳答案
如果你想删除 padding_top
你必须像这样改变你的 layout_constraint
:
<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView 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/viewStopScheduleItem_cardView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="1dp"
android:clickable="true"
android:focusable="true"
app:cardBackgroundColor="@android:color/white"
app:cardCornerRadius="0dp"
app:cardElevation="4dp">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/viewStopScheduleItem_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:layout_editor_absoluteX="0dp"
tools:layout_editor_absoluteY="0dp">
<ImageView
android:id="@+id/viewStopScheduleItem_barImageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@android:drawable/status_bar_item_background"
android:layout_marginLeft="8dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:layout_marginTop="0dp"
app:layout_constraintBottom_toBottomOf="parent"
android:layout_marginBottom="8dp" />
<ImageView
android:id="@+id/viewStopScheduleItem_busImageView"
android:layout_width="32dp"
android:layout_height="32dp"
app:srcCompat="@drawable/status_bar_item_background"
app:layout_constraintLeft_toRightOf="@+id/viewStopScheduleItem_barImageView"
android:layout_marginLeft="8dp"
app:layout_constraintTop_toTopOf="@+id/viewStopScheduleItem_barImageView"
android:layout_marginTop="8dp"
app:layout_constraintBottom_toBottomOf="@+id/viewStopScheduleItem_barImageView"
android:layout_marginBottom="8dp" />
<TextView
android:id="@+id/viewStopScheduleItem_routeShortNameTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView"
app:layout_constraintTop_toTopOf="parent" \\
android:layout_marginTop="8dp"
app:layout_constraintLeft_toRightOf="@+id/viewStopScheduleItem_routeLongNameTextView"
android:layout_marginLeft="8dp" />
<TextView
android:id="@+id/viewStopScheduleItem_routeLongNameTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView"
app:layout_constraintLeft_toRightOf="@+id/viewStopScheduleItem_busImageView"
android:layout_marginLeft="8dp"
app:layout_constraintTop_toTopOf="parent" \\
android:layout_marginTop="8dp" />
<TextView
android:id="@+id/viewStopScheduleItem_stopTime1TextView"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:
29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 9 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:9 PM 1:
29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:9 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1
:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:9 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:
9 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:9 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29
PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:9 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29
PM 1:9 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:9 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM
1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM"
android:textAlignment="viewStart"
android:layout_gravity="start"
app:layout_constraintLeft_toRightOf="@+id/viewStopScheduleItem_busImageView"
android:layout_marginLeft="8dp"
android:layout_marginTop="8dp"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/viewStopScheduleItem_routeLongNameTextView"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"/>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.cardview.widget.CardView>
关于android - 填充被添加到 CardView 的顶部,TextView 中的文本变得越长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58699685/
我是一名优秀的程序员,十分优秀!