Man*_*ddy 3 android textview android-layout
我想要的是 :
当文字很短时,21%TextView应该在第一个旁边,TextView如下所示
当文本很长时,我希望第一个TextView达到结束并且椭圆形,并且21%TextView应该如下所示
但是我做了什么,21%TextView消失了,并且首先TextView占据了完整的空间.我尝试了许多组合Linear, Relative, Frame, Constraint layout, weight, minwidth等,但似乎没有任何工作.
这是我的xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:orientation="horizontal"
android:layout_height="wrap_content">
<TextView
android:id="@+id/tv_job_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:lines="1"
android:maxLines="1"
android:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce pulvinar nec justo id bibendum." />
<TextView
android:id="@+id/tv_matchPercent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:paddingLeft="5dp"
android:text="21% "
android:textColor="#4268e3"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
知道如何实现它吗?
注意:我不想硬编码字符或宽度
Nil*_*hod 16
1种方法尝试使用
ConstraintLayout
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/longTextView"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
android:text=" Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce vel consectetur tortor. Fusce velit velit, tincidunt vitae dolor at, pharetra condimentum nunc. Etiam ac erat ac nulla tempus ullamcorper id ac sapien."
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintHorizontal_bias="0"
app:layout_constraintWidth_default="wrap"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toLeftOf="@+id/shortTextView"
/>
<TextView
android:id="@+id/shortTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="21%"
android:textColor="@color/colorAccent"
app:layout_constraintBaseline_toBaselineOf="@+id/longTextView"
app:layout_constraintLeft_toRightOf="@+id/longTextView"
app:layout_constraintRight_toRightOf="parent" />
</android.support.constraint.ConstraintLayout>
Run Code Online (Sandbox Code Playgroud)
当长文
当小文本
2路使用
FlexboxLayout
<?xml version="1.0" encoding="utf-8"?>
<com.google.android.flexbox.FlexboxLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/textview1"
android:layout_width="wrap_content"
app:layout_alignSelf="flex_start"
android:ellipsize="end"
android:maxLines="1"
android:layout_height="wrap_content"
android:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce vel consectetur tortor. Fusce velit velit, tincidunt vitae dolor at, pharetra condimentum nunc. Etiam ac erat ac nulla tempus ullamcorper id ac sapien."
/>
<TextView
android:id="@+id/textview2"
android:text="21%"
android:layout_width="wrap_content"
android:minWidth="60dp"
android:textColor="@color/colorAccent"
app:layout_alignSelf="flex_start"
android:layout_height="wrap_content"
/>
</com.google.android.flexbox.FlexboxLayout>
Run Code Online (Sandbox Code Playgroud)
FlexboxLayout当长文
当小文本
| 归档时间: |
|
| 查看次数: |
290 次 |
| 最近记录: |