Android ConstraintLayout ListView RTL某些行不是RTL
在我的列表视图中有些行没有RTL对齐。 在滚动并重新绘制后,行是正确的 行项目的我的布局:Android ConstraintLayout ListView RTL某些行不是RTL,android,android-layout,right-to-left,android-constraintlayout,Android,Android Layout,Right To Left,Android Constraintlayout,在我的列表视图中有些行没有RTL对齐。 在滚动并重新绘制后,行是正确的 行项目的我的布局: <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/clFrontView" android:layout_width="match_parent" android:layout_heig
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/clFrontView"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:paddingLeft="16dp"
android:paddingRight="16dp">
<ImageView
android:id="@+id/ivCircle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/circle"
tools:ignore="ContentDescription"
android:layout_marginTop="5dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintLeft_toLeftOf="parent" />
<ImageView
android:id="@+id/ivReminderType"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
tools:ignore="ContentDescription"
app:layout_constraintTop_toTopOf="@id/ivCircle"
app:layout_constraintBottom_toBottomOf="@id/ivCircle"
app:layout_constraintStart_toStartOf="@id/ivCircle"
app:layout_constraintEnd_toEndOf="@id/ivCircle"
app:layout_constraintLeft_toLeftOf="@id/ivCircle"
app:layout_constraintRight_toRightOf="@id/ivCircle" />
<de.hdodenhof.circleimageview.CircleImageView
android:id="@+id/civContactImage"
android:layout_width="42dp"
android:layout_height="42dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintStart_toStartOf="parent"/>
<ImageView
android:id="@+id/icivCircleSmall"
android:layout_width="15dp"
android:layout_height="15dp"
app:layout_constraintEnd_toEndOf="@id/civContactImage"
app:layout_constraintRight_toRightOf="@id/civContactImage"
app:layout_constraintBottom_toBottomOf="@id/civContactImage"
tools:ignore="ContentDescription"/>
<TextView
android:id="@+id/tvTextLine"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
tools:text="Line of Text"
android:textSize="18sp"
android:maxLines="2"
app:layout_constraintLeft_toRightOf="@id/ivCircle"
app:layout_constraintStart_toEndOf="@id/ivCircle"
android:layout_marginLeft="16dp"
android:layout_marginStart="16dp"/>
<TextView
android:id="@+id/tvTextLine2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:textSize="16sp"
android:visibility="gone"
app:layout_constraintStart_toStartOf="@id/tvTextLine"
app:layout_constraintLeft_toLeftOf="@id/tvTextLine"
app:layout_constraintTop_toBottomOf="@id/tvTextLine" />
<TextView
android:id="@+id/tvTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
tools:text="Wed, 01.05.2018 10:10"
android:textColor="#FF909090"
android:textSize="12sp"
android:drawablePadding="5dp"
app:layout_constraintStart_toStartOf="@id/tvTextLine"
app:layout_constraintLeft_toLeftOf="@id/tvTextLine"
app:layout_constraintTop_toBottomOf="@id/tvTextLine2" />
<TextView
android:id="@+id/tvRepeat"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
tools:text="Every 2nd Friday"
android:textColor="#FF909090"
android:textSize="12sp"
android:drawablePadding="5dp"
app:layout_constraintStart_toStartOf="@id/tvTextLine"
app:layout_constraintLeft_toLeftOf="@id/tvTextLine"
app:layout_constraintTop_toBottomOf="@id/tvTime" />
</android.support.constraint.ConstraintLayout>
这些变化可能会起作用:
<ImageView
android:id="@+id/ivCircle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bg_circle_win"
app:layout_constraintBottom_toBottomOf="@+id/civContactImage"
app:layout_constraintStart_toStartOf="@+id/civContactImage"
tools:ignore="ContentDescription" />
<ImageView
android:id="@+id/ivReminderType"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
app:layout_constraintEnd_toEndOf="@+id/civContactImage"
app:layout_constraintTop_toTopOf="@+id/civContactImage"
tools:ignore="ContentDescription" />
<de.hdodenhof.circleimageview.CircleImageView
android:id="@+id/civContactImage"
android:layout_width="42dp"
android:layout_height="42dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:layout_marginTop="8dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/icivCircleSmall"
android:layout_width="15dp"
android:layout_height="15dp"
app:layout_constraintEnd_toEndOf="@id/civContactImage"
app:layout_constraintRight_toRightOf="@id/civContactImage"
app:layout_constraintBottom_toBottomOf="@id/civContactImage"
tools:ignore="ContentDescription"/>
<TextView
android:id="@+id/tvTextLine"
android:layout_width="wrap_content"
android:layout_height="23dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:gravity="center_vertical"
android:maxLines="2"
android:textSize="18sp"
app:layout_constraintEnd_toStartOf="@+id/civContactImage"
tools:text="Line of Text" />
<TextView
android:id="@+id/tvTextLine2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:textSize="16sp"
android:visibility="gone" />
<TextView
android:id="@+id/tvTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:drawablePadding="5dp"
android:gravity="center_vertical"
android:textColor="#FF909090"
android:textSize="12sp"
app:layout_constraintEnd_toStartOf="@+id/civContactImage"
app:layout_constraintTop_toBottomOf="@+id/tvTextLine"
tools:text="Wed, 01.05.2018 10:10" />
<TextView
android:id="@+id/tvRepeat"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:drawablePadding="5dp"
android:gravity="center_vertical"
android:textColor="#FF909090"
android:textSize="12sp"
app:layout_constraintEnd_toStartOf="@+id/civContactImage"
app:layout_constraintTop_toBottomOf="@+id/tvTime"
tools:text="Every 2nd Friday" />
我希望工作。祝你好运试试这个也许它能解决问题。有一些小的测试更改,您可以根据需要删除它们。首先,我将工具:text更改为android:text,以便显示虚拟数据。其次,两个名为ivrementerType和icivCircleSmall的imageview,我放置了两个默认图像,仅用于测试目的,所以请更改它们。还有一个名为icivCircleSmall的imageview,我不知道它应该保存在哪里,所以我没有编辑为它编写的任何代码。下面是xml的编辑代码
<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/clFrontView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="10dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingTop="10dp">
<ImageView
android:id="@+id/ivCircle"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:src="@mipmap/ic_launcher"
app:layout_constraintBottom_toTopOf="@+id/tvRepeat"
app:layout_constraintEnd_toStartOf="@+id/tvTime"
app:layout_constraintTop_toBottomOf="@+id/tvTextLine"
tools:ignore="ContentDescription" />
<ImageView
android:id="@+id/ivReminderType"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:src="@mipmap/ic_launcher"
app:layout_constraintBottom_toBottomOf="@+id/tvRepeat"
app:layout_constraintEnd_toStartOf="@+id/tvRepeat"
app:layout_constraintTop_toBottomOf="@+id/tvTime"
tools:ignore="ContentDescription" />
<de.hdodenhof.circleimageview.CircleImageView
android:id="@+id/civContactImage"
android:layout_width="42dp"
android:layout_height="42dp"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:layout_marginTop="8dp"
android:src="@mipmap/ic_launcher"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/icivCircleSmall"
android:layout_width="15dp"
android:layout_height="15dp"
app:layout_constraintBottom_toBottomOf="@id/civContactImage"
app:layout_constraintEnd_toEndOf="@id/civContactImage"
app:layout_constraintRight_toRightOf="@id/civContactImage"
tools:ignore="ContentDescription" />
<TextView
android:id="@+id/tvTextLine"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:gravity="center_vertical"
android:maxLines="2"
android:text="Line of Text"
android:textSize="18sp"
app:layout_constraintEnd_toStartOf="@+id/civContactImage"
app:layout_constraintTop_toTopOf="@+id/civContactImage" />
<TextView
android:id="@+id/tvTextLine2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:textSize="16sp"
android:visibility="gone"
app:layout_constraintLeft_toLeftOf="@id/tvTextLine"
app:layout_constraintStart_toStartOf="@id/tvTextLine"
app:layout_constraintTop_toBottomOf="@id/tvTextLine" />
<TextView
android:id="@+id/tvTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:drawablePadding="5dp"
android:gravity="center_vertical"
android:text="Wed, 01.05.2018 10:10"
android:textColor="#FF909090"
android:textSize="12sp"
app:layout_constraintEnd_toStartOf="@+id/civContactImage"
app:layout_constraintTop_toBottomOf="@id/tvTextLine2" />
<TextView
android:id="@+id/tvRepeat"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawablePadding="5dp"
android:gravity="center_vertical"
android:text="Every 2nd Friday"
android:textColor="#FF909090"
android:textSize="12sp"
app:layout_constraintEnd_toEndOf="@+id/tvTime"
app:layout_constraintLeft_toLeftOf="@id/tvTextLine"
app:layout_constraintStart_toStartOf="@id/tvTextLine"
app:layout_constraintTop_toBottomOf="@id/tvTime" />
</android.support.constraint.ConstraintLayout>
希望有帮助 我认为,您可以通过删除所有
app:layou constraintLeft\u toLeftOf'和app:layout\u constraintLeft\u toRightOf'来修复它,并确保存在等效的app:layou constraintLeft\u toRightOf
和app:layou constraintLeft\u toEndOf@Pzy64:我的布局已经从开始到结束到结束。我为什么要加上“Left_toStartOf”?我不知道这应该是什么。如果您想要RTL,则左侧不是,它应该是Start\u toStartOf。或者我遗漏了什么?好的,我的意思是删除toRight
的所有toLeft
,如果布局中断,则添加等效的toStart
或toEnd
或其他内容。基本上,当您编写Left
或Right
时,它只是保持左侧或右侧覆盖RTL Bevavior。如果你想让你的代码完全遵守RTL行为,你可能需要删除每一个左或右的属性,并替换为开始或结束,除非你真的想要!!。。在某些情况下,即使RTL与否,您也可能希望按钮位于Edittext的右侧,在这种情况下,您可以指定Right或Left。。(如果我错了,请纠正我。)好的,我理解,但我的问题是ListView中只有一些行不是从右到左的。滚动后,它是从右向左。因此,这不是一个普遍的问题。无论如何,如果我删除所有toLeft和toRight,我也会遇到同样的问题:-(嗨,你解决了这个问题吗?没有,是同一个问题:-(删除所有家长的所有rtl
或ltr
方向属性。它似乎有效!
<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/clFrontView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="10dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingTop="10dp">
<ImageView
android:id="@+id/ivCircle"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:src="@mipmap/ic_launcher"
app:layout_constraintBottom_toTopOf="@+id/tvRepeat"
app:layout_constraintEnd_toStartOf="@+id/tvTime"
app:layout_constraintTop_toBottomOf="@+id/tvTextLine"
tools:ignore="ContentDescription" />
<ImageView
android:id="@+id/ivReminderType"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:src="@mipmap/ic_launcher"
app:layout_constraintBottom_toBottomOf="@+id/tvRepeat"
app:layout_constraintEnd_toStartOf="@+id/tvRepeat"
app:layout_constraintTop_toBottomOf="@+id/tvTime"
tools:ignore="ContentDescription" />
<de.hdodenhof.circleimageview.CircleImageView
android:id="@+id/civContactImage"
android:layout_width="42dp"
android:layout_height="42dp"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:layout_marginTop="8dp"
android:src="@mipmap/ic_launcher"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/icivCircleSmall"
android:layout_width="15dp"
android:layout_height="15dp"
app:layout_constraintBottom_toBottomOf="@id/civContactImage"
app:layout_constraintEnd_toEndOf="@id/civContactImage"
app:layout_constraintRight_toRightOf="@id/civContactImage"
tools:ignore="ContentDescription" />
<TextView
android:id="@+id/tvTextLine"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:gravity="center_vertical"
android:maxLines="2"
android:text="Line of Text"
android:textSize="18sp"
app:layout_constraintEnd_toStartOf="@+id/civContactImage"
app:layout_constraintTop_toTopOf="@+id/civContactImage" />
<TextView
android:id="@+id/tvTextLine2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:textSize="16sp"
android:visibility="gone"
app:layout_constraintLeft_toLeftOf="@id/tvTextLine"
app:layout_constraintStart_toStartOf="@id/tvTextLine"
app:layout_constraintTop_toBottomOf="@id/tvTextLine" />
<TextView
android:id="@+id/tvTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:drawablePadding="5dp"
android:gravity="center_vertical"
android:text="Wed, 01.05.2018 10:10"
android:textColor="#FF909090"
android:textSize="12sp"
app:layout_constraintEnd_toStartOf="@+id/civContactImage"
app:layout_constraintTop_toBottomOf="@id/tvTextLine2" />
<TextView
android:id="@+id/tvRepeat"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawablePadding="5dp"
android:gravity="center_vertical"
android:text="Every 2nd Friday"
android:textColor="#FF909090"
android:textSize="12sp"
app:layout_constraintEnd_toEndOf="@+id/tvTime"
app:layout_constraintLeft_toLeftOf="@id/tvTextLine"
app:layout_constraintStart_toStartOf="@id/tvTextLine"
app:layout_constraintTop_toBottomOf="@id/tvTime" />
</android.support.constraint.ConstraintLayout>