beeldweergave in recycler aanzicht vergelijkbaar met facebook timeline

stemmen
1

Ik ben het creëren van een Android-applicatie, ben ik vast te zitten op een punt. Ik wil berichten weergegeven als het wordt weergegeven in Facebook tijdlijn. Post kan beelden of niet. Ik heb creëerde een kaart weergave voor andere post-elementen en ik ben in staat om ze te tonen in berichten. Ik heb het beeld banden verzonden vanaf de server voor de post beelden, nu wil ik beelden te downloaden en weer te geven op specifieke functie die het in zich heeft. Hoe kan ik dit doen? Als gebruiker heeft 10 berichten, kan er imago in één of twee. Hoe kan ik controleren welke paal beeld heeft en vervolgens het beeld weer in die post na het downloaden. Kan iemand please help me in deze.

Laat het me weten als u meer informatie nodig heeft. Mijn kaart uitzicht is, zoals hieronder weergegeven:

<?xml version=1.0 encoding=utf-8?>
<RelativeLayout xmlns:android=http://schemas.android.com/apk/res/android
    android:layout_width=match_parent
    android:layout_height=match_parent
    android:orientation=vertical>

<android.support.v7.widget.CardView
    xmlns:card_view=http://schemas.android.com/apk/res-auto
    android:id=@+id/card_view
    android:layout_gravity=center
    android:layout_width=match_parent
    android:layout_height=wrap_content
    card_view:cardCornerRadius=4dp>

    <RelativeLayout
        android:layout_width=wrap_content
        android:layout_height=wrap_content>

    <ImageView
        android:id=@+id/imageViewUser
        android:layout_width=wrap_content
        android:layout_height=wrap_content
        android:src=@mipmap/human_image/>

    <TextView
        android:id=@+id/textViewTitle
        android:layout_width=wrap_content
        android:layout_height=wrap_content
        android:layout_toRightOf=@+id/imageViewUser
        android:layout_toEndOf=@+id/imageViewUser
        android:textSize=18sp
        android:text=titleText
        android:layout_marginLeft=10dp
        android:layout_marginStart=10dp/>

        <TextView
            android:id=@+id/textViewNoOfDays
            android:layout_width=wrap_content
            android:layout_height=wrap_content
            android:layout_below=@+id/textViewTitle
            android:textSize=14sp
            android:layout_marginLeft=10dp
            android:text=No of Days
            android:layout_toRightOf=@+id/imageViewUser
            android:layout_alignBottom=@+id/imageViewUser/>

        <TextView
            android:id=@+id/textViewPostDescription
            android:layout_width=wrap_content
            android:layout_height=wrap_content
            android:layout_below=@+id/imageViewUser
            android:layout_marginTop=20dp
            android:text=ABCDE
            android:layout_marginLeft=20dp
            android:layout_marginStart=20dp/>

        <View
            android:layout_width=fill_parent
            android:layout_height=2dp
            android:background=#c0c0c0
            android:layout_below=@+id/postImage
            android:layout_marginTop=10dp/>

        <ImageButton
            android:id=@+id/imageButtonPin
            android:layout_width=wrap_content
            android:layout_height=wrap_content
            android:layout_alignParentRight=true
            android:src=@mipmap/ic_pin_grey600_18dp/>

        <ImageView
            android:id=@+id/postImage
            android:layout_width=wrap_content
            android:layout_height=wrap_content
            android:layout_below=@+id/textViewPostDescription
            />








    </RelativeLayout>






</android.support.v7.widget.CardView>




</RelativeLayout>
De vraag is gesteld op 29/11/2015 om 09:58
bron van user
In andere talen...                            


2 antwoorden

stemmen
0

Ik denk dat dit is degene die u zoekt, facebook graag cardview. Het testen of de afbeelding te halen van de server is null. Dit is een responsieve om beelden grootte.

antwoordde op 21/06/2016 om 10:49
bron van user

stemmen
0

Dit is hoe ik erin geslaagd om dit het werken te krijgen.

Adapter Klasse:

public class StoriesAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {

    private List<Success> successList;
    ImageLoader imageLoader = AppController.getInstance().getImageLoader();
    private Context mContext;

    public StoriesAdapter(Context context, List<Success> successList) {
        this.successList = successList;
        this.mContext = context;
    }
    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.success_list, parent, false);
        StoryItemViewHolder vh = new StoryItemViewHolder(v);

        return vh;
    }
    @Override
    public void onBindViewHolder(RecyclerView.ViewHolder viewHolder, int position) {
        if (imageLoader == null)
            imageLoader = AppController.getInstance().getImageLoader();
        final Success success = successList.get(position);
        StoryItemViewHolder holder = (StoryItemViewHolder) viewHolder;
        // Feed image
        if (!success.getThumbnailUrl().equals("null")) {//check if null
            holder.thumbNail.setImageUrl(success.getThumbnailUrl(), imageLoader);
            holder.thumbNail.setVisibility(View.VISIBLE);
            holder.thumbNail.setResponseObserver(new FeedImageView.ResponseObserver() {
                        @Override
                        public void onError() {
                        }

                        @Override
                        public void onSuccess() {
                        }
                    });
        } else {
            holder.thumbNail.setVisibility(View.GONE);
        }

    }
    @Override
    public int getItemCount() {
        return (null != successList ? successList.size() : 0);
    }

}

En de viewHolder:

public class StoryItemViewHolder extends RecyclerView.ViewHolder {
    public FeedImageView thumbNail;

    public StoryItemViewHolder(View view) {
        super(view);
        this.thumbNail= (FeedImageView) view.findViewById(R.id.newsImage);
    }

}
antwoordde op 21/06/2016 om 11:02
bron van user

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more