直播軟體開發,同一分類下僅狀態列切換有無特效兩個版本
直播軟體開發,同一分類下僅狀態列切換有無特效兩個版本實現的相關程式碼
1、首先是ViewPager無特效效果
這個是ViewPager定義時最初的切換樣式
部分佈局
<com.google.android.material.tabs.TabLayout android:id="@+id/record_tabs" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_centerHorizontal="true" app:tabGravity="center" app:tabMode="fixed" app:tabTextColor="@color/grey_7D7D7D" app:tabSelectedTextColor="@color/black" app:tabIndicatorColor="@color/black"/> </RelativeLayout> <androidx.viewpager.widget.ViewPager android:id="@+id/record_vp" android:layout_width="match_parent" android:layout_height="match_parent"/> public class RecordPagerAdapter extends FragmentPagerAdapter { List<Fragment> fragmentList; String[]titles = {"介面1","介面2"}; public RecordPagerAdapter(@NonNull FragmentManager fm, List<Fragment>fragmentList) { super(fm); this.fragmentList = fragmentList; } @NonNull @Override public Fragment getItem(int position) { return fragmentList.get(position); } @Override public int getCount() { return fragmentList.size(); } @Nullable @Override public CharSequence getPageTitle(int position) { return titles[position]; } } 建立兩個空白的Fragment 設定ViewPager載入頁面 private void initPager() { List<Fragment> fragmentList = new ArrayList<>(); OutcomeFragment outFrag = new OutcomeFragment(); IncomeFragment inFrag = new IncomeFragment(); fragmentList.add(outFrag); fragmentList.add(inFrag); // 建立介面卡 RecordPagerAdapter pagerAdapter = new RecordPagerAdapter(getSupportFragmentManager(), fragmentList); // 設定介面卡 viewPager.setAdapter(pagerAdapter); //將TabLayout和ViwePager進行關聯 tabLayout.setupWithViewPager(viewPager); }
2.自定義ViewPager切換特效效果
public class RotateDownPageTransformer implements ViewPager.PageTransformer { private static final float ROT_MAX = 20.0f; private float mRot; public void transformPage(View view, float position) { if (position < -1) { ViewHelper.setRotation(view, 0); } else if (position <= 1) { if (position < 0) { /** * mRot 旋轉的角度 * 轉動的中心(ViewHelper.setPivotX, ViewHelper.setPivotY) */ mRot = (ROT_MAX * position); ViewHelper.setPivotX(view, view.getMeasuredWidth() * 0.5f); ViewHelper.setPivotY(view, view.getMeasuredHeight()); ViewHelper.setRotation(view, mRot); } else { mRot = (ROT_MAX * position); ViewHelper.setPivotX(view, view.getMeasuredWidth() * 0.5f); ViewHelper.setPivotY(view, view.getMeasuredHeight()); ViewHelper.setRotation(view, mRot); } } else { ViewHelper.setRotation(view, 0); } } }
以上就是直播軟體開發,同一分類下僅狀態列切換有無特效兩個版本實現的相關程式碼, 更多內容歡迎關注之後的文章
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2862858/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 工作流從無狀態切換到有狀態的好處
- 直播軟體搭建,Android studio設計兩個介面間的切換Android
- JS特效之狀態列冒泡 (轉)JS特效
- 軟體開發中的兩種態度
- 直播軟體搭建,修改狀態列、導航條顏色及文字顏色
- 直播平臺開發,直播各個分類單例設計展示單例
- mac下安裝多個版本PHP及切換MacPHP
- 在同一臺機器下安裝兩個Oracle Software 版本Oracle
- nvm for windows切換node版本無效Windows
- Homestead 下切換 PHP 版本PHP
- Ubuntu下python版本切換UbuntuPython
- 同一個電腦安裝兩個jdk版本JDK
- 直播app開發,flutter 狀態列 AppBar 設定透明和半透明APPFlutter
- 有狀態和無狀態的區別
- 關於多個開發中心開發同一軟體的配置管理
- win10中word怎麼切換改寫狀態_win10怎樣切換插入狀態和改寫狀態Win10
- 直播電商平臺開發,動態去除系統自帶標題欄、狀態列
- Java執行緒狀態及切換Java執行緒
- 3個有狀態應用程式的無伺服器開發策略 - Twain Taylor伺服器AI
- 遊戲特效有哪些製作的分類遊戲特效
- Flutter 多個版本切換控制Flutter
- 劃分軟體開發人員的兩種尺度
- ubuntu14.04下多個GCC版本的切換UbuntuGC
- 直播軟體開發,工具類的自定義彈窗效果
- 電商app有哪些?電商APP軟體開發分類-北京銳智互動APP
- Mac 下切換 PHP 版本問題MacPHP
- android狀態列一體化(沉浸式狀態列)Android
- 關於多個開發中心開發同一軟體的配置管理(轉)
- 直播平臺軟體開發,flutter Wrap 自動換行元件Flutter元件
- php陣列的分類有哪幾個PHP陣列
- 直播軟體開發,通過js動態設定字型大小JS
- 直播軟體搭建,狀態列顏色跟隨裝置系統變化而變化
- 直播類app開發解決方案、直播app功能有哪些?-北京銳智互動軟體開發APP
- 直播電商平臺開發,橫豎屏切換的方法
- [譯] 5 分鐘讓 Drawer 在狀態列下可見
- 直播平臺軟體開發,Extjs Grid自動換行JS
- 切換 PHP 版本PHP
- 切換java版本Java