直播電商軟體開發,介面懸浮購物車顯示隱藏
直播電商軟體開發,介面懸浮購物車顯示隱藏實現的相關程式碼
佈局
<?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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Three.js控制物體顯示與隱藏的方法JS
- HTML+CSS+JQuery實現下拉選單滑鼠懸浮顯示下拉選單,取消隱藏HTMLCSSjQuery
- mac顯示隱藏檔案,取消顯示隱藏檔案Mac
- 直播軟體app開發,CSS超出隱藏並且能滾動APPCSS
- 搭建直播平臺,顯示隱藏密碼,眼睛特效密碼特效
- 直播電商平臺開發,列太多,捲軸顯示
- iOS 隱藏&顯示tabBariOStabBar
- HTML 滑鼠放上顯示懸浮視窗HTML
- MacOS X隱藏和顯示隱藏檔案Mac
- Mac顯示和隱藏“隱藏檔案”命令Mac
- 直播app系統原始碼,Fragment 顯示 隱藏 監聽APP原始碼Fragment
- 菜鳥學JS(三)——自動隱藏的懸浮框JS
- jQuery 效果 – 隱藏和顯示jQuery
- mac隱藏檔案顯示Mac
- view的隱藏和顯示View
- Mac 顯示隱藏檔案Mac
- Mac顯示/不顯示隱藏檔案教程!Mac
- 直播平臺原始碼,input密碼框顯示與隱藏原始碼密碼
- MAC如何顯示隱藏檔案和隱藏隱藏檔案的命令Mac
- 直播購物軟體開發系統原始碼現成模板開發快捷定製功能原始碼
- Mac下顯示和隱藏隱藏檔案的命令Mac
- 直播商城原始碼,密碼輸入框自定義顯示隱藏圖示原始碼密碼
- steam隱藏的遊戲怎麼顯示出來 steam隱藏顯示遊戲方法介紹遊戲
- excel隱藏的部分如何顯示出來 excel裡面怎麼顯示隱藏部分Excel
- 購物直播系統開發,APP開發(功能)APP
- login介面 checkbox選擇顯示或者隱藏密碼密碼
- 自己寫遠端控制軟體之隱藏介面
- app直播原始碼,Android EditText的游標的顯示和隱藏APP原始碼Android
- 【macOS】顯示/隱藏 指定檔案Mac
- MACOS 如何顯示隱藏檔案Mac
- 隱藏密碼?顯示密碼?密碼
- OSX中隱藏和顯示[隱藏檔案]的命令列命令列
- 直播平臺原始碼,隱藏app圖示並不在最近執行中顯示原始碼APP
- 點選開關顯示或者隱藏input文字框
- 直播網站原始碼,EasyUI按鈕控制標籤顯示與隱藏網站原始碼UI
- 直播平臺原始碼,Android實現密碼顯示與隱藏原始碼Android密碼
- 直播app系統原始碼,底部彈框顯示,底部導航隱藏APP原始碼
- JavaScript 設定div顯示與隱藏JavaScript