Android отображение списка - PullRequest
0 голосов
/ 14 апреля 2020

Надеюсь, у вас все хорошо,

Я новичок с android java, поэтому мне нужна ваша помощь, пожалуйста.

У меня проблема с androidx.recyclerview.widget.RecyclerView

Сначала при создании макета это хорошо, и у нас нет проблем:

Вот рендеринг макета

Когда я прокручиваю просмотр списка посмотрите, что произойдет ( элемент списка отображается на tablayout ):

Вот испорченный рендеринг макета

Это 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>

Спасибо

Ответы [ 2 ]

0 голосов
/ 16 апреля 2020

Наконец, я нашел решение:

я создаю 2 ограничения ограничения, сначала имеют android: elevation = "2dp", а затем я добавляю высоту к 2 элементам (RecordView и RecordButton) с 16dp, и это работа: D

0 голосов
/ 14 апреля 2020

Ваш 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...