首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ConstraintLayout ListView RTL有些行不是RTL

ConstraintLayout ListView RTL有些行不是RTL
EN

Stack Overflow用户
提问于 2018-06-27 13:30:45
回答 2查看 354关注 0票数 4

在我的ListView上,有些行不是RTL对齐。在滚动、和重绘之后,线条是正确的。

我的项目版面:

代码语言:javascript
复制
<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>

第一开始--看起来是这样的,第一行不是RTL:

在向下滚动并再次向上滚动到顶部之后,这是正确的:

build.gradle依赖关系:

代码语言:javascript
复制
implementation 'com.android.support.constraint:constraint-layout:1.1.2'
EN

回答 2

Stack Overflow用户

发布于 2018-06-27 14:08:04

这些变化可能会奏效:

代码语言:javascript
复制
<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" />

我希望能工作。祝好运

票数 0
EN

Stack Overflow用户

发布于 2018-06-28 05:07:21

试试这个也许能解决问题。有一些小的测试更改--您可以根据需要删除它们--首先,我已经将工具:text更改为android:text,以便显示虚拟data.Secondly,两个名为icivCircleSmall和data.Secondly的图像视图--我只为测试目的放置了两个默认图像--所以请更改它。此外,还有一个名为icivCircleSmall的图片视图,我不知道它应该放在哪里,所以我没有编辑为它编写的任何代码。下面是xml的编辑代码。

代码语言:javascript
复制
<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>

希望能帮上忙!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51064110

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档