Android Recycler查看项目布局问题

时间:2019-04-10 19:17:26

标签: android xml android-layout android-recyclerview

我正在设计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都可以看到到屏幕的尽头,但是它们要在中间之前结束。有什么想法吗?

5 个答案:

答案 0 :(得分:0)

如果我正确理解了您的问题,您必须要使两个TextView都填满整个高度,对吗?

在这种情况下,在两个TextView中,都将layout_height属性更改为0dp并向其中添加android:layout_weigth=0.5。这将使它们填充您LinearLayout的整个高度,无论可能是什么高度,并且它们将在中间分隔空间。

答案 1 :(得分:0)

我建议您利用LinearLayout的weight属性。将您的根LinearLayout设置为match_parent。以及您嵌套的LinearLayoutTextView的{​​{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一起使用。我对其进行了更改,并且它已修复