国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

詳解android使用ItemDecoration 懸浮導航欄效果

2019-12-12 04:00:07
字體:
來源:轉載
供稿:網友

開始逐漸領略到ItemDecoration的美~

今天讓我 使用 ItemDecoration 來完成 可推動的懸浮導航欄的效果,最終實現的效果如下圖:

20161204135240604

具體實現步驟如下:

根據我前面的文章所講的RecyclerView的基本使用,我們先來完成基本的recyclerView:

第一步:布局里寫一個RecyclerView

第二步:實例化

recyclerView = (RecyclerView) findViewById(R.id.recyclerView);

第三步:獲取所需的數據 (這里我們來個真實點的情景,去聯網請求數據)

/**   * 聯網請求所需的url   */   public String url="http://api.meituan.com/mmdb/movie/v2/list/rt/order/coming.json?ci=1&limit=12&token=&__vhost=api.maoyan.com&utm_campaign=AmovieBmovieCD-1&movieBundleVersion=6801&utm_source=xiaomi&utm_medium=android&utm_term=6.8.0&utm_content=868030022327462&net=255&dModel=MI%205&uuid=0894DE03C76F6045D55977B6D4E32B7F3C6AAB02F9CEA042987B380EC5687C43&lat=40.100673&lng=116.378619&__skck=6a375bce8c66a0dc293860dfa83833ef&__skts=1463704714271&__skua=7e01cf8dd30a179800a7a93979b430b2&__skno=1a0b4a9b-44ec-42fc-b110-ead68bcc2824&__skcy=sXcDKbGi20CGXQPPZvhCU3%2FkzdE%3D";//聯網獲取數據     getDataFromNet();/**    * 使用okhttpUtils進行聯網請求數據    */   private void getDataFromNet() {     OkHttpUtils.         get()         .url(url)         .build()         .execute(new StringCallback() {           @Override           public void onError(okhttp3.Call call, Exception e, int id) {             Log.e("TAG", "聯網失敗" + e.getMessage());           }           @Override           public void onResponse(String response, int id) {             Log.e("TAG", "聯網成功==" + response);             //聯網成功后使用fastjson解析             processData(response);           }         });   }/**    * 使用fastjson進行解析    *    * @param json    */   private void processData(String json) {     //這里使用GsonFormat生成對應的bean類     JSONObject jsonObject = parseObject(json);     String data = jsonObject.getString("data");     JSONObject dataObj = JSON.parseObject(data);     String coming = dataObj.getString("coming");     List<WaitMVBean.DataBean.ComingBean> comingslist = parseArray(coming, WaitMVBean.DataBean.ComingBean.class);     //測試是否解析數據成功 //    String strTest = comingslist.get(0).getCat(); //    Log.e("TAG", strTest + "222");      //解析數據成功,設置適配器-->     }   }

第四步:解析數據成功后,創(chuàng)建并設置適配器,并傳遞相關數據

//解析數據成功,設置適配器       MyRecyclerAdapter adapter = new MyRecyclerAdapter( mContext,comingslist);       recyclerView.setAdapter(adapter);

適配器:

public class MyRecyclerAdapter extends RecyclerView.Adapter {   private final List<WaitMVBean.DataBean.ComingBean> comingslist;   private final Context mContext;   private final LayoutInflater mLayoutInflater;   public MyRecyclerAdapter(Context mContext, List<WaitMVBean.DataBean.ComingBean> comingslist) {     this.mContext = mContext;     this.comingslist = comingslist;     mLayoutInflater = LayoutInflater.from(mContext);   }   @Override   public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {     return new MyViewHolder(mLayoutInflater.inflate(R.layout.date_item, null));   }   @Override   public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {     MyViewHolder myholder = (MyViewHolder) holder;     myholder.setData(position);   }   @Override   public int getItemCount() {     return comingslist.size();   }   class MyViewHolder extends RecyclerView.ViewHolder {     private TextView mv_name;     private TextView mv_dec;     private TextView mv_date;     private ImageView imageView;     public MyViewHolder(View itemView) {       super(itemView);       mv_name = (TextView) itemView.findViewById(R.id.mv_name);       mv_dec = (TextView) itemView.findViewById(R.id.mv_dec);       mv_date = (TextView) itemView.findViewById(R.id.mv_date);       imageView = (ImageView) itemView.findViewById(R.id.image);     }     public void setData(int position) {       WaitMVBean.DataBean.ComingBean coming = comingslist.get(position);       String name = coming.getNm();       mv_name.setText(name);       String date = coming.getShowInfo();       mv_date.setText(date);       String dec = coming.getScm();       mv_dec.setText(dec);       //注:當你發(fā)下圖片無法打開是,做個字符串替換即可       String imagUrl = coming.getImg();       String newImagUrl = imagUrl.replaceAll("w.h", "50.80");       //使用Glide加載圖片       Glide.with(mContext)           .load(newImagUrl)           .into(imageView);     }   } }

item的布局:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"   android:layout_width="wrap_content"   android:layout_height="wrap_content"   android:background="#ffffff"   android:gravity="center_vertical"   android:orientation="horizontal">   <ImageView     android:id="@+id/image"     android:layout_width="70dp"     android:layout_height="110dp"     android:layout_marginBottom="5dp"     android:layout_marginLeft="10dp"     android:layout_marginRight="8dp"     android:layout_marginTop="5dp" />   <LinearLayout     android:layout_width="0dp"     android:layout_height="wrap_content"     android:layout_marginLeft="6dp"     android:layout_weight="1"     android:orientation="vertical">     <TextView       android:id="@+id/mv_name"       android:layout_width="wrap_content"       android:layout_height="wrap_content"       android:text="神奇

主站蜘蛛池模板:
凉城县|
赣州市|
南郑县|
凤山市|
武山县|
瑞金市|
濮阳县|
衡山县|
垦利县|
江达县|
富川|
缙云县|
林西县|
和平县|
景德镇市|
北票市|
浏阳市|
乐东|
行唐县|
阿图什市|
柞水县|
安阳县|
佛冈县|
江都市|
启东市|
平利县|
怀柔区|
思南县|
张家口市|
甘泉县|
梁河县|
呼伦贝尔市|
社会|
景德镇市|
梁河县|
蓬莱市|
大竹县|
乃东县|
漠河县|
从江县|
乐山市|