編輯:關於Android編程
Picasso是Square公司開源的一個Android圖形緩存庫,地址http://square.github.io/picasso/,可以實現圖片下載和緩存功能。
它的使用及其的簡單,僅僅只需要一行代碼就能完全實現圖片的異步加載:
Picasso.with(view.getContext()).load(newsItems.get(position).getThumb()).into(holder.ivHeader);//Picasso異步加載預覽圖
完全不需要任何其他操作便可以加載圖片,而且自帶緩存功能,還優化了在RecyclerView中的圖片重復利用等問題,而且使用了復雜的圖片壓縮算法來減少內存消耗以及自帶二級緩存
下面是博主在Adapter中寫的范例:
1 package socialnews.linccy.com.socialnews.adapter; 2 3 import android.support.v7.widget.RecyclerView; 4 import android.view.LayoutInflater; 5 import android.view.View; 6 import android.view.ViewGroup; 7 import android.widget.ImageView; 8 import android.widget.TextView; 9 10 import com.squareup.picasso.Picasso; 11 12 import java.util.List; 13 14 import butterknife.BindView; 15 import butterknife.ButterKnife; 16 import socialnews.linccy.com.socialnews.utils.NewsItem; 17 import socialnews.linccy.com.socialnews.R; 18 19 /** 20 * Created by Lcc on 2016/7/9. 21 */ 22 23 public class NewsItemAdapter extends RecyclerView.Adapter{ 24 25 private static List newsItems; 26 private View view; 27 28 public NewsItemAdapter(List newsItems) { 29 this.newsItems = newsItems; 30 } 31 32 @Override 33 public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { 34 view = LayoutInflater.from(parent.getContext()).inflate(R.layout.recyclerview_cardview_item, parent, false); 35 ViewHolder holder = new ViewHolder(view); 36 return holder; 37 } 38 39 @Override 40 public void onBindViewHolder(ViewHolder holder, int position) { 41 holder.tvTitle.setText(newsItems.get(position).getTitle()); 42 holder.tvDetail.setText(newsItems.get(position).getDescr()); 43 holder.tvTime.setText(newsItems.get(position).getTime()); 44 Picasso.with(view.getContext()).load(newsItems.get(position).getThumb()).into(holder.ivHeader);//Picasso異步加載預覽圖 45 } 46 47 @Override 48 public int getItemCount() { 49 return newsItems.size(); 50 } 51 52 53 public class ViewHolder extends RecyclerView.ViewHolder { 54 @BindView(R.id.iv_header) 55 ImageView ivHeader; 56 57 @BindView(R.id.tv_title) 58 TextView tvTitle; 59 @BindView(R.id.tv_detail) 60 TextView tvDetail; 61 @BindView(R.id.tv_time) 62 TextView tvTime; 63 64 public ViewHolder(View itemView) { 65 super(itemView); 66 ButterKnife.bind(this, itemView); 67 } 68 } 69 }
效果圖:
在研究了幾天JNI後,在自己生成的so庫中調用第三方so庫時遇到問題,解決之後特意整理、記錄一下。首先說一下在網上查找資料時,對於調用第三方so庫,有人說有兩種方法:1.
本文實例講述了Android編程實現自定義ProgressBar樣式。分享給大家供大家參考,具體如下:效果圖如下,本例中設置了第一級進度條和第二級進度條。樣式資源:pro
如下圖。在Android上實現起來就不太容易,有些效果還是不如web端酷炫。)我們的Demo,Ac娘鎮樓(圖很渣,也忽略底下的SeekBar,這不是重點)一些動畫,效果錄
騰訊已將手機QQ桌面帶到了安卓手機平台。該版本不僅能關注城市天氣和資訊熱點,還能在桌面就收發QQ消息、定制動態的待機桌面。本期就來看看新版手機QQ桌面是如何