使用Picasso加载网页图片到RecyclerView
生活随笔
收集整理的這篇文章主要介紹了
使用Picasso加载网页图片到RecyclerView
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
效果圖
添加依賴項
compile 'com.android.support:appcompat-v7:22.2.1' compile 'com.android.support:recyclerview-v7:22.2.1' compile 'com.android.support:cardview-v7:22.2.1' compile 'com.squareup.picasso:picasso:2.3.2' compile 'com.android.support:design:22.2.1'布局
item_layout.xml
<?xml version="1.0" encoding="utf-8"?> <android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"xmlns:card_view="http://schemas.android.com/apk/res-auto"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginTop="5dp"android:layout_marginLeft="5dp"android:layout_marginRight="5dp"card_view:cardCornerRadius="5dp"><RelativeLayout android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginTop="20dp"android:layout_marginLeft="20dp"android:layout_marginBottom="20dp"><ImageView android:id="@+id/android_image"android:layout_width="120dp"android:layout_height="60dp"android:layout_marginRight="20dp"/><TextView android:id="@+id/android_version"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="18sp"android:textStyle="bold"android:layout_centerVertical="true"android:layout_toRightOf="@id/android_image" /></RelativeLayout></android.support.v7.widget.CardView>
activity_main.xml
自定義RecyclerView適配器
package com.example.demo.opencvtest;import android.content.Context; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView;import com.squareup.picasso.Picasso;import java.util.ArrayList;/*** 用于存儲列表項中的數據類型*/public class DataAdapter extends RecyclerView.Adapter<DataAdapter.ViewHolder> {public Context mContext;public ArrayList<AndroidVersion> mAndroidVersionsList;public DataAdapter(Context context,ArrayList<AndroidVersion> androidVersionsList){mContext = context;mAndroidVersionsList = androidVersionsList;}@Overridepublic DataAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_layout,parent,false);return new ViewHolder(view);}@Overridepublic void onBindViewHolder(DataAdapter.ViewHolder holder, int position) {Picasso.with(mContext).load(mAndroidVersionsList.get(position).getAndroid_image_url()).resize(120,60).into(holder.imageView);holder.textView.setText(mAndroidVersionsList.get(position).getAndroid_version_name());}@Overridepublic int getItemCount() {return mAndroidVersionsList.size();}public class ViewHolder extends RecyclerView.ViewHolder {public ImageView imageView;public TextView textView;public ViewHolder(View view) {super(view);imageView = (ImageView) view.findViewById(R.id.android_image);textView = (TextView) view.findViewById(R.id.android_version);}}}Activity
package com.example.demo.opencvtest;import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView;import java.util.ArrayList;/*** 主界面程序*/public class MainActivity extends AppCompatActivity {private RecyclerView recyclerView;private ArrayList<AndroidVersion> androidVersionsList;private DataAdapter adapter;private final String android_version_names[] = {"Donut","Eclair","Froyo","Gingerbread","Honeycomb","Ice Cream Sandwich","Jelly Bean","KitKat","Lollipop","Marshmallow"};private final String android_image_urls[] = {"https://img-blog.csdn.net/20160527205448521","https://img-blog.csdn.net/20160527205516475","https://img-blog.csdn.net/20160527205804527","https://img-blog.csdn.net/20160527205831152","https://img-blog.csdn.net/20160527205912200","https://img-blog.csdn.net/20160527205946793","https://img-blog.csdn.net/20160527210011184","https://img-blog.csdn.net/20160527210026200","https://img-blog.csdn.net/20160527210039778","https://img-blog.csdn.net/20160527210053919"};@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);recyclerView = (RecyclerView) findViewById(R.id.recycler_view);recyclerView.setHasFixedSize(true);RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(getApplicationContext());recyclerView.setLayoutManager(layoutManager);androidVersionsList = initData();adapter = new DataAdapter(getApplicationContext(),androidVersionsList);recyclerView.setAdapter(adapter);}private ArrayList<AndroidVersion> initData() {ArrayList<AndroidVersion> androidVersions = new ArrayList<>();for(int i=0; i<android_version_names.length; ++i){AndroidVersion androidVersion = new AndroidVersion();androidVersion.setAndroid_image_url(android_image_urls[i]);androidVersion.setAndroid_version_name(android_version_names[i]);androidVersions.add(androidVersion);}return androidVersions;} }總結
以上是生活随笔為你收集整理的使用Picasso加载网页图片到RecyclerView的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RecyclerView+CardVie
- 下一篇: Android服务一 创建启动服