短視訊直播原始碼,自定義圖片或視訊的迴圈播放
短視訊直播原始碼,自定義圖片或視訊的迴圈播放
1、自定義viewPager,目的是為了實現愛奇藝Banner樣式,複寫Viewpager的構造器 處理setOnHierarchyChangeListener監聽
public class DepthPageTransformer implements ViewPager.PageTransformer { @TargetApi(Build.VERSION_CODES.HONEYCOMB) @SuppressLint("NewApi") public void transformPage(View view, float position) { if (position < -1) { // [-Infinity,-1) view.setScaleY(minScale); view.setAlpha(minAlpha); } else if (position <= 0) { // [-1,0] float scaleFactor = minScale + (1 - minScale) * (1 - Math.abs(position)); float alphaFactor = minAlpha + (1 - minAlpha) * (1 - Math.abs(position)); view.setScaleY(scaleFactor); view.setAlpha(alphaFactor); } else if (position <= 1) { // (0,1] float scaleFactor = minScale + (1 - minScale) * (1 - Math.abs(position)); float alphaFactor = minAlpha + (1 - minAlpha) * (1 - Math.abs(position)); view.setScaleY(scaleFactor); view.setAlpha(alphaFactor); } else { // (1,+Infinity] view.setScaleY(minScale); view.setAlpha(minAlpha); } view.setAlpha(1); } }
此處定義了minScale 和minAlpha兩個引數來控制左右兩邊的 展示部分 ,用set方法可以設定大小(這裡的大小是百分比)
2、自定義輪播需要的圖片和指示器(xml就不寫了,需要ViewPager和LinearLayout )。
①在attrs裡面寫好需要自定義的屬性。(左右間距、指示器位置等...我這就打住自定義View的過程了。)
②pagerAdapter的修改
@Override public Object instantiateItem(ViewGroup container, final int position) { if (creator == null) { throw new RuntimeException("[Banner] --> The layout is not specified,please set holder"); } BannerViewHolder holder = creator.createViewHolder(); View view = holder.createView(container.getContext()); container.addView(view); if (mDatas != null && mDatas.size() > 0) { holder.onBind(container.getContext(), toRealPosition(position), mDatas.get(toRealPosition(position))); } //*****主要是在pagerAdapter在中,給整個控制元件加上條目點選事件 if (listener != null) { view.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { listener.onBannerClick(toRealPosition(position)); } }); } return view; }
整個控制元件加上條目點選事件,實現點選事件
③實現ViewPager的OnPageChangeListener 監聽,其中的onPageSelected 方法主要寫頁面滑動的邏輯
@Override public void onPageSelected(int position) { currentItem = position; if (mOnPageChangeListener != null) { mOnPageChangeListener.onPageSelected(toRealPosition(position)); } if (bannerStyle == BannerConfig.CIRCLE_INDICATOR || bannerStyle == BannerConfig.CIRCLE_INDICATOR_TITLE || bannerStyle == BannerConfig.CIRCLE_INDICATOR_TITLE_INSIDE || bannerStyle == BannerConfig.CUSTOM_INDICATOR) { if (isLoop) { if (mIndicatorSelectedDrawable != null && mIndicatorUnselectedDrawable != null) { indicatorImages.get((lastPosition - 1 + count) % count).setImageDrawable(mIndicatorUnselectedDrawable); indicatorImages.get((position - 1 + count) % count).setImageDrawable(mIndicatorSelectedDrawable); } else { indicatorImages.get((lastPosition - 1 + count) % count).setImageResource(mIndicatorUnselectedResId); indicatorImages.get((position - 1 + count) % count).setImageResource(mIndicatorSelectedResId); } } else { if (mIndicatorSelectedDrawable != null && mIndicatorUnselectedDrawable != null) { indicatorImages.get((lastPosition + count) % count).setImageDrawable(mIndicatorUnselectedDrawable); indicatorImages.get((toRealPosition(position) + count) % count).setImageDrawable(mIndicatorSelectedDrawable); } else { indicatorImages.get((lastPosition + count) % count).setImageResource(mIndicatorUnselectedResId); indicatorImages.get((toRealPosition(position) + count) % count).setImageResource(mIndicatorSelectedResId); } } lastPosition = position; }}
以上就是 短視訊直播原始碼,自定義圖片或視訊的迴圈播放,更多內容歡迎關注之後的文章
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2899631/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 短視訊原始碼,視訊轉為圖片儲存原始碼
- 短視訊平臺原始碼,自定義上傳有邊框的背景圖片原始碼
- 直播短視訊原始碼短視訊APP短視訊帶貨系統多商戶直播原始碼APP
- 短視訊原始碼,python使用post提交圖片原始碼Python
- 短視訊開發app,自定義帶進度條的視訊播放按鈕APP
- 短視訊直播原始碼,動態釋出時選擇圖片、上傳圖片原始碼
- 小視訊原始碼,在編輯器中新增自定義的圖片原始碼
- 自定義視訊播放器播放器
- php短視訊原始碼,jQuery實現自定義輪播圖外掛PHP原始碼jQuery
- 短視訊平臺原始碼,自定義流式佈局--kotlin原始碼Kotlin
- 短視訊直播原始碼,自動對上傳的圖片進行識別原始碼
- 短視訊app原始碼,點選檢視圖片,雙指放大APP原始碼
- 短視訊直播原始碼,拖動滑塊實現圖片驗證效果原始碼
- UEditor 自定義圖片視訊尺寸校驗
- 短視訊帶貨原始碼,android 自定義常駐通知欄原始碼Android
- 短視訊直播系統開發直播短視訊程式搭建短視訊互動直播
- 短視訊系統原始碼,點開圖片雙指放大或雙擊放大原始碼
- android短視訊開發,點選靜態圖片自動跳轉播放視訊Android
- 短視訊直播原始碼,EditText輸入框的使用原始碼
- 短視訊帶貨原始碼,儲存圖片到相簿/相簿原始碼
- 短視訊平臺原始碼,登入介面插入背景圖片原始碼
- video自定義實現視訊播放功能IDE
- 短視訊直播原始碼,DialogFragment全屏且半透明原始碼Fragment
- 短視訊app原始碼,實現原生js圖片預覽效果APP原始碼JS
- 短視訊直播原始碼,視訊計時效果,可隨時按鍵暫停原始碼
- 騰訊又出短視訊小程式“看一看短視訊”。短視訊原始碼有巨大潛力?原始碼
- 視訊直播原始碼,css實現圖片對角邊框線原始碼CSS
- 直播平臺原始碼,視訊抽幀作為圖片儲存原始碼
- 視訊直播原始碼+一對一交友原始碼+短視訊原始碼,抓住5G就是抓住機遇原始碼
- 短視訊直播原始碼,實現頂部導航欄背景圖片漸隱漸現效果原始碼
- Vue + WebRTC 實現音視訊直播(附自定義播放器樣式)VueWeb播放器
- 短視訊的哪些創新功能為短視訊原始碼提供良好的借鑑?原始碼
- 視訊提取圖片/圖片合成視訊ffmpeg(二十)
- android短視訊開發,自定義下拉選單Android
- 視訊直播app原始碼,點選圖片放大再點選縮小APP原始碼
- 手機直播原始碼,Android studio 實現簡單的視訊播放原始碼Android
- 短視訊app開發,短視訊動態功能上傳圖片時,規定圖片壓縮的大小APP
- 短視訊系統原始碼,上傳圖片自適應拉伸符合高度原始碼