【问题标题】:Android listview displayAndroid列表视图显示
【发布时间】:2020-07-27 06:59:03
【问题描述】:

希望你一切都好,

我是android java的新手,所以我需要你的帮助。

我对 androidx.recyclerview.widget.RecyclerView 有疑问

首先onCreate布局很好,我们没有问题:

Here is the rendering of the layout

当我在 listview 中滚动时,看看会发生什么(列表的 item 显示在 tablayout 上):

Here is the messed up rendering of the layout

这是布局的xml:

    <?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:fab="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <Button
        android:id="@+id/bWonDeal"
        android:layout_width="88dp"
        android:layout_height="30dp"
        android:layout_marginTop="8dp"
        android:layout_marginEnd="8dp"
        android:text="Conclue"
        android:textColor="@color/colorAccent"
        android:textSize="8sp"
        app:backgroundTint="@color/colorDealDone"
        app:layout_constraintEnd_toStartOf="@+id/bLostDeal"
        app:layout_constraintTop_toBottomOf="@+id/DealDone" />

    <Button
        android:id="@+id/bLostDeal"
        android:layout_width="88dp"
        android:layout_height="30dp"
        android:layout_marginTop="8dp"
        android:layout_marginEnd="8dp"
        android:text="Perdue"
        android:textColor="@color/colorAccent"
        android:textSize="8sp"
        app:backgroundTint="@color/colorDealPerdue"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/DealDone" />

    <ImageView
        android:id="@+id/imageView9"
        android:layout_width="0dp"
        android:layout_height="90dp"
        android:scaleType="fitXY"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:srcCompat="@drawable/topbackground"></ImageView>

    <com.google.android.material.tabs.TabLayout
        android:id="@+id/tabsDealDetail"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:layout_gravity="bottom"
        android:layout_marginTop="8dp"
        android:background="#FFFFFF"
        android:visibility="visible"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="1.0"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/bWonDeal"
        app:tabIndicatorColor="@android:color/holo_red_dark"
        app:tabMode="fixed"
        app:tabTextAppearance="@style/MineCustomTabText">

        <com.google.android.material.tabs.TabItem
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Timeline" />

        <com.google.android.material.tabs.TabItem
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Détails" />
    </com.google.android.material.tabs.TabLayout>

    <ImageView
        android:id="@+id/iconDealEtat"
        android:layout_width="32dp"
        android:layout_height="32dp"
        android:layout_alignParentTop="true"
        android:layout_alignParentBottom="true"
        android:layout_marginTop="23dp"
        android:layout_marginEnd="16dp"
        android:contentDescription="TODO"
        android:scaleType="centerInside"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:srcCompat="@drawable/ic_home_black_24dp" />

    <ImageView
        android:id="@+id/imageView12"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="16dp"
        android:layout_marginTop="4dp"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/tTitreOffre"
        app:srcCompat="@drawable/ic_users" />

    <ListView
        android:id="@+id/list_detail_offre"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:layout_marginStart="2dp"
        android:layout_marginTop="4dp"
        android:layout_marginEnd="2dp"
        android:layout_marginBottom="8dp"
        android:divider="@null"
        android:dividerHeight="0dp"
        android:visibility="visible"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/tabsDealDetail"></ListView>

    <ProgressBar
        android:id="@+id/progressBarTimeline"
        style="?android:attr/progressBarStyle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="8dp"
        android:layout_marginTop="8dp"
        android:layout_marginEnd="8dp"
        android:layout_marginBottom="8dp"
        android:indeterminateDrawable="@drawable/progressmain"
        android:visibility="visible"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.501"
        app:layout_constraintStart_toStartOf="@+id/DealDone"
        app:layout_constraintTop_toTopOf="parent" />

    <RelativeLayout
        android:id="@+id/DealDone"
        android:layout_width="416dp"
        android:layout_height="36dp"
        android:layout_marginTop="35dp"
        android:background="#e3f9ec"
        android:visibility="visible"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/tTitreOffre">

        <TextView
            android:id="@+id/lEtapeCycle"
            android:layout_width="307dp"
            android:layout_height="23dp"
            android:layout_alignParentStart="true"
            android:layout_alignParentTop="true"
            android:layout_alignParentEnd="true"
            android:layout_marginStart="50dp"
            android:layout_marginTop="6dp"
            android:layout_marginEnd="58dp"
            android:text="Etape de cycle de vente"
            android:textAlignment="center"
            android:textColor="@android:color/black"
            android:textStyle="bold" />

    </RelativeLayout>

    <TextView
        android:id="@+id/textView10"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="16dp"
        android:layout_marginTop="25dp"
        android:text="Opportunité détail"
        android:textColor="#FFFFFF"
        android:textSize="18sp"
        android:textStyle="bold"
        app:layout_constraintStart_toStartOf="@+id/imageView9"
        app:layout_constraintTop_toTopOf="@+id/imageView9" />

    <TextView
        android:id="@+id/lCommercialOffre"
        android:layout_width="265dp"
        android:layout_height="24dp"
        android:layout_marginStart="4dp"
        android:layout_marginTop="4dp"
        android:text="Commercial"
        android:textColor="@android:color/black"
        app:layout_constraintStart_toEndOf="@+id/imageView12"
        app:layout_constraintTop_toBottomOf="@+id/tTitreOffre" />

    <TextView
        android:id="@+id/tTitreOffre"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="16dp"
        android:layout_marginTop="95dp"
        android:layout_marginEnd="16dp"
        android:text="Titre de l'opportunité"
        android:textColor="@android:color/black"
        android:textSize="18sp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.0"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <TextView
        android:id="@+id/tMontantDeal"
        android:layout_width="189dp"
        android:layout_height="26dp"
        android:layout_marginStart="16dp"
        android:layout_marginTop="8dp"
        android:text="2000 $"
        android:textColor="@android:color/black"
        android:textSize="18sp"
        android:textStyle="bold"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/DealDone" />

    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/listviewtimeline"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:layout_marginStart="8dp"
        android:layout_marginTop="4dp"
        android:layout_marginEnd="8dp"
        android:layout_marginBottom="8dp"
        android:visibility="visible"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/tabsDealDetail" />

    <com.devlomi.record_view.RecordButton
        android:id="@+id/record_button_deal"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentBottom="true"
        android:layout_marginEnd="8dp"
        android:layout_marginBottom="8dp"
        android:background="@drawable/recv_bg_mic"
        android:scaleType="centerInside"
        android:visibility="gone"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:mic_icon="@drawable/recv_ic_mic_white" />

    <com.devlomi.record_view.RecordView
        android:id="@+id/record_view_deal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        app:counter_time_color="#ff0000"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:slide_to_cancel_arrow="@drawable/recv_ic_arrow"
        app:slide_to_cancel_arrow_color="#000000"
        app:slide_to_cancel_bounds="8dp"
        app:slide_to_cancel_margin_right="10dp"
        app:slide_to_cancel_text="Slide To Cancel" />

    <com.github.clans.fab.FloatingActionMenu
        android:id="@+id/optionDealMenu"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentBottom="true"
        android:layout_marginLeft="11dp"
        android:layout_marginRight="11dp"
        android:layout_marginBottom="11dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        fab:menu_animationDelayPerItem="55"
        fab:menu_backgroundColor="@android:color/transparent"
        fab:menu_buttonSpacing="0dp"
        fab:menu_colorNormal="@color/colorPrimary"
        fab:menu_colorPressed="@color/colorDealPerdue"
        fab:menu_colorRipple="#99d4d4d4"
        fab:menu_fab_size="normal"
        fab:menu_icon="@drawable/fab_add"
        fab:menu_labels_colorNormal="#333"
        fab:menu_labels_colorPressed="#444"
        fab:menu_labels_colorRipple="#66efecec"
        fab:menu_labels_cornerRadius="3dp"
        fab:menu_labels_ellipsize="none"
        fab:menu_labels_hideAnimation="@anim/fab_slide_out_to_right"
        fab:menu_labels_margin="0dp"
        fab:menu_labels_maxLines="-1"
        fab:menu_labels_padding="8dp"
        fab:menu_labels_position="left"
        fab:menu_labels_showAnimation="@anim/fab_slide_in_from_right"
        fab:menu_labels_showShadow="true"
        fab:menu_labels_singleLine="false"
        fab:menu_labels_textColor="#f2f1f1"
        fab:menu_labels_textSize="15sp"
        fab:menu_openDirection="up"
        fab:menu_shadowColor="#FFFFFF"
        fab:menu_shadowRadius="4dp"
        fab:menu_shadowXOffset="1dp"
        fab:menu_shadowYOffset="4dp"
        fab:menu_showShadow="true"
        tools:ignore="MissingConstraints">

        <com.github.clans.fab.FloatingActionButton
            android:id="@+id/bOptionAddNote"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/ic_note_add_24px"
            fab:fab_colorNormal="#FFFFFF"
            fab:fab_label="Ajouter une note"
            fab:fab_size="mini" />

        <com.github.clans.fab.FloatingActionButton
            android:id="@+id/bOptionAddAudio"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/ic_mic_24px"
            app:iconTint="@android:color/white"
            fab:fab_colorNormal="#FFFFFF"
            fab:fab_label="Enregistrement vocal"
            fab:fab_size="mini" />

        <com.github.clans.fab.FloatingActionButton
            android:id="@+id/bOptionAddFichier"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/ic_cloud_upload_24px"
            app:iconTint="@android:color/white"
            fab:fab_colorNormal="#FFFFFF"
            fab:fab_label="Télécharger un fichier"
            fab:fab_size="mini" />
    </com.github.clans.fab.FloatingActionMenu>
</androidx.constraintlayout.widget.ConstraintLayout>

谢谢

【问题讨论】:

  • 为什么 RecyclerView 和 ListView 在布局中的同一位置?
  • 当我点击 tablayout 我隐藏第一个并显示第二个

标签: android android-recyclerview android-listview


【解决方案1】:

您的ListView 应该在您的标签布局下方滚动。您必须将elevation 添加到您的TabLayout

<com.google.android.material.tabs.TabLayout
        android:id="@+id/tabsDealDetail"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:layout_gravity="bottom"
        android:layout_marginTop="8dp"
        android:background="#FFFFFF"
        android:visibility="visible"
        android:elevation="2dp" <---here
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="1.0"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/bWonDeal"
        app:tabIndicatorColor="@android:color/holo_red_dark"
        app:tabMode="fixed"
        app:tabTextAppearance="@style/MineCustomTabText">

还有个人建议ListView 内存效率不高,改用RelcyclerView

【讨论】:

  • 感谢它的工作,但现在它显示在按钮和文本视图上
  • 我想我发现了问题:当我在顶部添加 xmlns:fab="schemas.android.com/apk/res-auto" 时,它给出了问题。有什么解决办法吗?
  • xmlns 只是一个标签,用于引用您的 xml 验证的名称空间。该标签应仅添加在您的父布局上,而不是子级上。您也可以像以前一样只定义一个名为 app 的名称,并将每次出现的 fab 更改为 app
  • 尝试相同的技巧或更改布局结构。如果解决了您的原始问题,也请将答案标记为已接受。
  • 感谢您的支持,但我找不到解决方案 :( 经过多次测试,我发现当我在布局中添加来自 github.com/3llomi/RecordView 的 com.devlomi.record_view.RecordButton 时,我发现了这个问题
【解决方案2】:

终于找到了解决办法:

我创建 2 个约束布局首先有 android:elevation="2dp" 第二个我用 16dp 为 2 个项目(RecordView 和 RecordButton)添加高程,它可以工作:D

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-16
    • 1970-01-01
    • 2021-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多