我正在设计Android Studio中的应用程序。在预览中,它看起来像我想要的,但是在构建应用程序时,有一个LinearLayout包含两个看上去更小的TextView,我不明白为什么
这是回收站视图项:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/friend_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<de.hdodenhof.circleimageview.CircleImageView
android:id="@+id/profile_picture"
android:layout_width="44dp"
android:layout_height="44dp"
android:src="@drawable/head" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="1dp"
android:gravity="left"
android:paddingLeft="2dp"
android:paddingRight="2dp"
android:textColor="@color/white"
android:textSize="16sp"
android:textStyle="bold"
tools:text="Guillermo Rodriguez" />
<TextView
android:id="@+id/friend_position"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="left"
android:text="delantero"
android:textColor="@color/white"
android:textSize="13sp" />
</LinearLayout>
外观如下:https://photos.app.goo.gl/BgNQhgpNKbgEGCCR6,我需要将文本填充整个宽度
我希望两个TextView都可以看到到屏幕的尽头,但是它们要在中间之前结束。有什么想法吗?
答案 0 :(得分:0)
如果我正确理解了您的问题,您必须要使两个TextView都填满整个高度,对吗?
在这种情况下,在两个TextView中,都将layout_height
属性更改为0dp
并向其中添加android:layout_weigth=0.5
。这将使它们填充您LinearLayout的整个高度,无论可能是什么高度,并且它们将在中间分隔空间。
答案 1 :(得分:0)
我建议您利用LinearLayout
的weight属性。将您的根LinearLayout
设置为match_parent
。以及您嵌套的LinearLayout
和TextView
的{{1}}到layout_height
以及它们的0dp
到1
这是修改后的代码:
weight
答案 2 :(得分:0)
请检查您的RecycleView
是否设置了正确的宽度(例如match_parent
),并且可以拉伸到整个宽度。能否为XML代码提供RecycleView
?
答案 3 :(得分:0)
我认为您将recyclerview设置为特定宽度。尝试将宽度改为匹配父对象。 我建议用户constraintlayout避免嵌套的视图组。像这样:
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/friend_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/profile_picture"
android:layout_width="44dp"
android:layout_height="44dp"
android:src="@drawable/patient"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"/>
<TextView
android:id="@+id/name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="1dp"
android:gravity="left"
android:paddingLeft="2dp"
android:paddingRight="2dp"
android:textColor="@android:color/white"
android:textSize="16sp"
android:textStyle="bold"
tools:text="Guillermo Rodriguez"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/profile_picture"/>
<TextView
android:id="@+id/friend_position"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:gravity="left"
android:text="delantero"
android:textColor="@android:color/white"
android:textSize="13sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/profile_picture"
app:layout_constraintTop_toBottomOf="@+id/name"/>
答案 4 :(得分:0)
我解决了!有人用GridLayoutManager对其进行了配置,并且必须与LinearLayoutManager一起使用。我对其进行了更改,并且它已修复