直播電商軟體開發,介面懸浮購物車顯示隱藏
直播電商軟體開發,介面懸浮購物車顯示隱藏實現的相關程式碼
佈局
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android=" xmlns:tools=" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <ListView android:id="@+id/list_view" android:layout_width="match_parent" android:layout_height="match_parent"/> <ImageView android:id="@+id/iv_cart" android:layout_width="50dp" android:layout_height="50dp" android:layout_alignParentBottom="true" android:layout_alignParentEnd="true" android:layout_alignParentRight="true" android:layout_marginBottom="60dp" android:layout_marginEnd="20dp" android:layout_marginRight="20dp" android:contentDescription="@null" android:src="@drawable/ic_cart"/> </RelativeLayout>
程式碼
初始化控制元件
mListView = findViewById(R.id.list_view); mIvCart = findViewById(R.id.iv_cart);
初始化資料
for (int i = 0; i < 50; i++) { titles.add("第 - " + i + " - 條資料"); } mListView.setAdapter(new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, titles));
計算移動距離
//控制元件繪製完成之後再獲取其寬高 mIvCart.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { //動畫移動的距離 螢幕的寬度減去圖片距左邊的寬度 就是圖片距右邊的寬度,再加上隱藏的一半 moveDistance = getScreenWidth() - mIvCart.getRight() + mIvCart.getWidth() / 2; //監聽結束之後移除監聽事件 mIvCart.getViewTreeObserver().removeOnGlobalLayoutListener(this); } }); private int getScreenWidth() { DisplayMetrics dm = new DisplayMetrics(); this.getWindowManager().getDefaultDisplay().getMetrics(dm); return dm.widthPixels; }
隱藏動畫
private void hideFloatImage(int distance) { isShowFloatImage = false; //位移動畫 TranslateAnimation ta = new TranslateAnimation(0, distance, 0, 0); ta.setDuration(300); //漸變動畫 AlphaAnimation al = new AlphaAnimation(1f, 0.5f); al.setDuration(300); AnimationSet set = new AnimationSet(true); //動畫完成後不回到原位 set.setFillAfter(true); set.addAnimation(ta); set.addAnimation(al); mIvCart.startAnimation(set); }
顯示動畫
private void showFloatImage(int distance) { isShowFloatImage = true; //位移動畫 TranslateAnimation ta = new TranslateAnimation(distance, 0, 0, 0); ta.setDuration(300); //漸變動畫 AlphaAnimation al = new AlphaAnimation(0.5f, 1f); al.setDuration(300); AnimationSet set = new AnimationSet(true); //動畫完成後不回到原位 set.setFillAfter(true); set.addAnimation(ta); set.addAnimation(al); mIvCart.startAnimation(set); }
處理滑動邏輯
@Override public boolean dispatchTouchEvent(MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN://手指按下 if (System.currentTimeMillis() - upTime < 1000) { //本次按下距離上次的抬起小於1s時,取消Timer timer.cancel(); } startY = event.getY(); break; case MotionEvent.ACTION_MOVE://手指滑動 if (Math.abs(startY - event.getY()) > 10) { if (isShowFloatImage) { hideFloatImage(moveDistance); } } startY = event.getY(); break; case MotionEvent.ACTION_UP://手指抬起 if (!isShowFloatImage) { //抬起手指1s後再顯示懸浮按鈕 //開始1s倒數計時 upTime = System.currentTimeMillis(); timer = new Timer(); timer.schedule(new FloatTask(), 1000); } break; } return super.dispatchTouchEvent(event); }
以上就是 直播電商軟體開發,介面懸浮購物車顯示隱藏實現的相關程式碼,更多內容歡迎關注之後的文章
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2794882/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- HTML+CSS+JQuery實現下拉選單滑鼠懸浮顯示下拉選單,取消隱藏HTMLCSSjQuery
- Three.js控制物體顯示與隱藏的方法JS
- mac顯示隱藏檔案,取消顯示隱藏檔案Mac
- 直播電商平臺開發,列太多,捲軸顯示
- 直播軟體app開發,CSS超出隱藏並且能滾動APPCSS
- 搭建直播平臺,顯示隱藏密碼,眼睛特效密碼特效
- iOS 隱藏&顯示tabBariOStabBar
- Mac顯示和隱藏“隱藏檔案”命令Mac
- 電商直播主圖設計素材,輕鬆搞定直播懸浮窗設計!
- day83:luffy:新增購物車&導航欄購物車數字顯示&購物車頁面展示
- 直播app系統原始碼,Fragment 顯示 隱藏 監聽APP原始碼Fragment
- jQuery 效果 – 隱藏和顯示jQuery
- Mac顯示/不顯示隱藏檔案教程!Mac
- 直播平臺原始碼,input密碼框顯示與隱藏原始碼密碼
- excel隱藏的部分如何顯示出來 excel裡面怎麼顯示隱藏部分Excel
- 直播商城原始碼,密碼輸入框自定義顯示隱藏圖示原始碼密碼
- MACOS 如何顯示隱藏檔案Mac
- 區塊的顯示和隱藏
- 【macOS】顯示/隱藏 指定檔案Mac
- OSX中隱藏和顯示[隱藏檔案]的命令列命令列
- 直播平臺原始碼,Android實現密碼顯示與隱藏原始碼Android密碼
- app直播原始碼,Android EditText的游標的顯示和隱藏APP原始碼Android
- 直播購物軟體開發系統原始碼現成模板開發快捷定製功能原始碼
- 直播平臺原始碼,隱藏app圖示並不在最近執行中顯示原始碼APP
- 直播電商平臺開發,vue顯示列表中的多張本地照片Vue
- steam隱藏的遊戲怎麼顯示出來 steam隱藏顯示遊戲方法介紹遊戲
- Flutter 滑動列表隱藏頭部 ListView+TabBar懸浮的實現FlutterViewtabBar
- 直播app系統原始碼,底部彈框顯示,底部導航隱藏APP原始碼
- 直播網站原始碼,EasyUI按鈕控制標籤顯示與隱藏網站原始碼UI
- CSS——文字超出隱藏顯示省略號CSS
- JavaScript 設定div顯示與隱藏JavaScript
- mac 隱藏檔案顯示 快捷鍵Mac
- jqgrid動態顯示,隱藏指定列
- javascript隱藏和顯示div的方法JavaScript
- jQuery 實現顯示與隱藏效果jQuery
- Android 眼睛 顯示隱藏密碼(ImageView)Android密碼View
- 購物直播系統開發,APP開發(功能)APP
- win10 如何顯示隱藏資料夾_win10 如何顯示隱藏的資料夾Win10