没有 android:layout_width="match_parent" 的 TextView 选取框

TextView marquee WITHOUT android:layout_width="match_parent"

我正在制作一个 UI 看起来像这样的

我的目标是在突出显示的文本视图中添加选取框滚动效果,两个文本视图的父容器都是约束布局,因此我使用 android:layout_width="0dp" 以便我的视图扩展到它的约束,即 50总数的 -50 space。

我做了一些研究,发现我需要 android:layout_width="match_parent" 才能获得品牌。

我当前的选取框代码:

<TextView
                android:ellipsize="marquee"
                android:marqueeRepeatLimit="marquee_forever"
                android:focusable="true"
                android:singleLine="true"
                android:focusableInTouchMode="true"
                android:freezesText="true"
                android:scrollHorizontally="true"
                android:gravity="start"
                android:id="@+id/row_load_list_toAddress"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginStart="8dp"
                android:text="End Location"
                android:textColor="@color/black"
                android:textSize="20sp"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toEndOf="@+id/imageView5"
                app:layout_constraintTop_toBottomOf="@+id/textView13" />

任何人请指出我在这里可能做错了什么,解决方案是什么?

为了使选取框起作用,您必须在与该布局相关的 Activity 中将 setSelected 属性 设置为 true

TextView txt = findViewById(R.id.row_load_list_toAddress);
txt.setSelected(true);

希望这能解决您的问题。