Android: Использование SliderAdapter рушит фон для CardStack - PullRequest
1 голос
/ 18 января 2020

потратили около 8 часов, пытаясь это исправить, не зная, в чем проблема.

Так что я создаю приложение, похожее на Tinder, с использованием CardStack для профилей и SliderView поверх этого, чтобы пользователи могли go через картинки. Проблема в том, что фон на моих картах портится всякий раз, когда я использую SliderView.

Например, у меня есть фреймы:

<FrameLayout
        android:id="@+id/left_overlay"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/overlay_black">

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/skip_white120"
            android:layout_gravity="center"/>

    </FrameLayout>

    <FrameLayout
        android:id="@+id/right_overlay"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/overlay_black">

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/like_white120dp"
            android:layout_gravity="center"/>

, которые ДОЛЖНЫ отображаться только при перелистывании моей карты на странице в соответствии с библиотекой и моим предыдущим использованием, однако при использовании SliderAdapter, рамки просто закрывают мои изображения навсегда.

Вот код, который его облажает.

sliderView.sliderAdapter = AndrewSliderAdapter(context, spot.images)

А вот класс.

package com.example.casualdatingapp;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import androidx.recyclerview.widget.RecyclerView;

import com.bumptech.glide.Glide;
import com.daimajia.slider.library.SliderAdapter;
import com.smarteist.autoimageslider.SliderViewAdapter;
import com.squareup.picasso.Picasso;

import java.util.ArrayList;

public class AndrewSliderAdapter extends SliderViewAdapter<AndrewSliderAdapter.SliderAdapterVH> {
    private Context context;
    private ArrayList<String> pictures;
    private View myView;
    private View testView;



    public AndrewSliderAdapter(Context context, ArrayList<String> pictures) {
        this.context = context;
        this.pictures = pictures;


    }

    @Override
    public SliderAdapterVH onCreateViewHolder(ViewGroup parent) {
        View inflate = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_spot, parent, false);
        this.myView = inflate;
        return new SliderAdapterVH(inflate);
    }

    @Override
    public void onBindViewHolder(SliderAdapterVH viewHolder, int position) {


        switch (position) {
            case 0:
                Picasso.get().load(pictures.get(0)).into(viewHolder.imageViewBackground);
                break;
            case 1:
                Picasso.get().load(pictures.get(1)).into(viewHolder.imageViewBackground);
                break;
            case 2:
                Picasso.get().load(pictures.get(2)).into(viewHolder.imageViewBackground);
                break;
           case 3:
                Picasso.get().load(pictures.get(3)).into(viewHolder.imageViewBackground);
                break;
            case 4:
                Picasso.get().load(pictures.get(4)).into(viewHolder.imageViewBackground);
                break;
            case 5:
                Picasso.get().load(pictures.get(5)).into(viewHolder.imageViewBackground);
                break;
            case 6:
                Picasso.get().load(pictures.get(6)).into(viewHolder.imageViewBackground);
                break;
            case 7:
                Picasso.get().load(pictures.get(7)).into(viewHolder.imageViewBackground);
                break;
            case 8:
                Picasso.get().load(pictures.get(8)).into(viewHolder.imageViewBackground);
                break;

        }

    }

    @Override
    public int getCount() {
        //slider view count could be dynamic size
        return pictures.size();
    }

    class SliderAdapterVH extends SliderViewAdapter.ViewHolder {

        View itemView;
        ImageView imageViewBackground;
        TextView textViewDescription;

        public SliderAdapterVH(View itemView) {
            super(itemView);
            imageViewBackground = itemView.findViewById(R.id.item_image);
            this.itemView = itemView;
        }
    }
}


I не понимаю, что может быть причиной этой проблемы, просто вызывая этот класс.

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