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

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

Android仿淘寶首頁頭條View垂直滾動效果

2019-10-23 18:28:08
字體:
供稿:網(wǎng)友

之前本來是打算做TextView垂直向上滾動的,后來發(fā)現(xiàn)一位大神做得很好,https://github.com/sfsheng0322/MarqueeView 孫福生大神,然后自己要用到多個View向上滾動,也就是類似淘寶首頁頭條的那種滾動,所以就按照那個思路想了系啊,可以把View拿來滾動,這樣可以自己隨意的修改View里面的內(nèi)容,還比較簡單一些。所以這個整個思路就是把View就行循環(huán)滾動。

看一下循環(huán)滾動View的內(nèi)容咋寫的吧,非常簡單。

package com.dreamlive.upmarqueeview;  import android.content.Context; import android.util.AttributeSet; import android.view.View; import android.view.animation.Animation; import android.view.animation.AnimationUtils; import android.widget.ViewFlipper;  import java.util.List;  /**  * 仿淘寶首頁的 淘寶頭條滾動的自定義View  *  * Created by dreamlive on 2016/7/20.  */ public class UPMarqueeView extends ViewFlipper {   private Context mContext;  private boolean isSetAnimDuration = false;  private int interval = 2000;  /**  * 動畫時間  */  private int animDuration = 500;   public UPMarqueeView(Context context, AttributeSet attrs) {  super(context, attrs);  init(context, attrs, 0);  }   private void init(Context context, AttributeSet attrs, int defStyleAttr) {  this.mContext = context;  setFlipInterval(interval);  Animation animIn = AnimationUtils.loadAnimation(mContext, R.anim.anim_marquee_in);  if (isSetAnimDuration) animIn.setDuration(animDuration);  setInAnimation(animIn);  Animation animOut = AnimationUtils.loadAnimation(mContext, R.anim.anim_marquee_out);  if (isSetAnimDuration) animOut.setDuration(animDuration);  setOutAnimation(animOut);  }    /**  * 設(shè)置循環(huán)滾動的View數(shù)組  *  * @param views  */  public void setViews(List<View> views) {  if (views == null || views.size() == 0) return;  removeAllViews();  for (int i = 0; i < views.size(); i++) {   addView(views.get(i));  }  startFlipping();  }   } 

MainActivity的內(nèi)容:

package com.dreamlive.upmarqueeviewdemo;  import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.LayoutInflater; import android.view.View; import android.widget.LinearLayout; import android.widget.TextView;  import com.dreamlive.upmarqueeview.UPMarqueeView;  import java.util.ArrayList; import java.util.List;  /**  * 仿淘寶首頁的 淘寶頭條滾動的自定義View  * Created by dreamlive on 2016/7/20.  */ public class MainActivity extends AppCompatActivity {    private UPMarqueeView upview1;  List<String> data = new ArrayList<>();  List<View> views = new ArrayList<>();   @Override  protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.activity_main);  initParam();  initdata();  initView();  }   /**  * 實例化控件  */  private void initParam() {  upview1 = (UPMarqueeView) findViewById(R.id.upview1);  }   /**  * 初始化界面程序  */  private void initView() {  setView();  upview1.setViews(views);  }   /**  * 初始化需要循環(huán)的View  * 為了靈活的使用滾動的View,所以把滾動的內(nèi)容讓用戶自定義  * 假如滾動的是三條或者一條,或者是其他,只需要把對應(yīng)的布局,和這個方法稍微改改就可以了,  */  private void setView() {  for (int i = 0; i < data.size(); i = i + 2) {   //設(shè)置滾動的單個布局   LinearLayout moreView = (LinearLayout) LayoutInflater.from(this).inflate(R.layout.item_view, null);   //初始化布局的控件   TextView tv1 = (TextView) moreView.findViewById(R.id.tv1);   TextView tv2 = (TextView) moreView.findViewById(R.id.tv2);   //進行對控件賦值   tv1.setText(data.get(i).toString());   if (data.size() > i + 1) {   //因為淘寶那兒是兩條數(shù)據(jù),但是當數(shù)據(jù)是奇數(shù)時就不需要賦值第二個,所以加了一個判斷,還應(yīng)該把第二個布局給隱藏掉   tv2.setText(data.get(i + 1).toString());   }else {   moreView.findViewById(R.id.rl2).setVisibility(View.GONE);   }    //添加到循環(huán)滾動數(shù)組里面去   views.add(moreView);  }  }   /**  * 初始化數(shù)據(jù)  */  private void initdata() {  data = new ArrayList<>();  data.add("家人給2歲孩子喝這個,孩子智力倒退10歲!!!");  data.add("iPhone8最感人變化成真,必須買買買買!!!!");  data.add("簡直是白菜價!日本玩家33萬甩賣15萬張游戲王卡");  data.add("iPhone7價格曝光了!看完感覺我的腰子有點疼...");  data.add("主人內(nèi)疚逃命時沒帶夠,回廢墟狂挖30小時!"); // data.add("竟不是小米樂視!看水搶了驍龍821首發(fā)了!!!");   } } 

github地址:https://github.com/dreamlivemeng/UpMarqueeTextView-master 歡迎star,fork,提pr,issues。

效果圖:

Android,Android仿淘寶垂直滾動,Android垂直滾動效果,View垂直滾動

Android,Android仿淘寶垂直滾動,Android垂直滾動效果,View垂直滾動

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。


注:相關(guān)教程知識閱讀請移步到Android開發(fā)頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 临夏市| 吴旗县| 安仁县| 循化| 越西县| 融水| 闽侯县| 绩溪县| 新蔡县| 育儿| 久治县| 讷河市| 新龙县| 七台河市| 布尔津县| 五常市| 龙南县| 新建县| 焉耆| 宁陵县| 滦南县| 龙里县| 肇源县| 桐柏县| 黔西| 龙江县| 延寿县| 泰宁县| 沐川县| 武威市| 呼伦贝尔市| 保亭| 辛集市| 开阳县| 湘阴县| 新绛县| 永昌县| 承德县| 承德县| 罗城| 波密县|