登入頁Activity從下向上的彈出效果實現
最近產品有需求,一開始通過啟動頁進入登入頁是正常的頁面跳轉,而後要進入主頁面,在主頁面裡面的點選判斷是否是登入狀態,然後登入頁從下向上彈出。這個需求一開始感覺應該不是很麻煩,直接用
overridePendingTransition(R.anim.anim_activity_up, 0)
anim_activity_up的檔案為:
<?xml version="1.0" encoding="utf-8"?>
<translate
xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="200"
android:fromYDelta="100%p"
android:toYDelta="0%p"
>
</translate>
然後這時候執行的時候問題就來了,切換的時候會有黑的陰影閃現,然後谷歌方案一般都是說設定主題,在裡面新增如下程式碼:
<item name="android:windowIsTranslucent">true</item>
這個是改 Activity 的背景為透明,因為一開始設定主題的父主題為:
parent="Theme.AppCompat.Light.NoActionBar"
頁面的狀態列也會變成黑色,跟著頁面一塊來從下往上走,效果也不好。並且設定這個透明色以後,原先的頁面跳轉也會跟著變化。。。谷歌了一下是確實有這個問題,折騰了好久,最終改變方案。
用 popupwindow 來實現,設定其彈出跟關閉的動畫,動畫效果可以達到產品效果,但是如果popupWindow彈出,這個時候按下 home 鍵,然後點選圖示進入,popupWindow 頁面的動畫效果就會再展現一遍,個人感覺有可能是由下面的設定造成:
<item name="android:windowEnterAnimation">@anim/menushow</item>
<item name="android:windowExitAnimation">@anim/menuhide</item>
設定進入跟退出的動畫。效果還是不理想。
這個問題被同組的大神也遇到過,他設定的頁面也是點選從下到上彈出,並且說設定overridePendingTransition後面的引數為0的時候沒有效果,必須自己去寫來實現這個效果,最終程式碼如下:
overridePendingTransition(R.anim.anim_activity_up,R.anim.anim_activity_stay)
anim_activity_stay的檔案為:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha
android:duration="200"
android:fromAlpha="1"
android:toAlpha="1"
/>
</set>
其實就是設定透明度一直為1,效果實現跟產品要求一致,並且不用重新另起一個頁面了,一開始的研究方向就出問題了。
記自己的一次踩坑之旅,後者可以少耽誤點時間了,共勉
相關文章
- 點選彈出居中使用者登入框效果
- Flutter實現用視訊背景的登入頁Flutter
- Flutter入門篇(三)— 如何實現登入動畫效果Flutter動畫
- 用Unity實現彈反效果Unity
- SpringAnimator彈簧聯動效果的實現Spring
- Android Dialog風格彈出框的ActivityAndroid
- vue中頁面載入進度條效果的實現Vue
- JS實現彈幕效果(10.11—10.17)JS
- 如何不使用js實現滑鼠hover彈出選單效果JS
- ajax 實現微信網頁授權登入網頁
- Flutter實戰 | 從 0 搭建「網易雲音樂」APP(二、Splash Page、登入頁、發現頁)FlutterAPP
- Activity 流程模型匯入匯出-activity流程模型匯入匯出模型
- Flutter 實現虎牙/鬥魚 彈幕效果Flutter
- 從淘寶首頁登入說起
- Spartacus 註冊和登入頁面的實現細節
- app直播原始碼,平臺登入頁面實現和修改密碼頁面實現APP原始碼密碼
- 類似微信首頁彈性滾動和慣性滾動效果的實現——OverScroll
- 直播app原始碼,使用者首次登入時彈出左右滑動導航頁APP原始碼
- iOS 類知乎”分頁”效果的實現?iOS
- 兩種純CSS方式實現hover圖片pop-out彈出效果CSS
- HTML基礎實現簡單的註冊和登入頁面HTML
- FTP登入時一直彈出登入視窗,就算輸入正確的賬號密碼也不能登入FTP密碼
- 登入介面居中效果
- 微信掃小程式碼實現網頁端登入網頁
- ubuntu登入時出現“一閃之後回到登入介面”的現象Ubuntu
- SSH配置—Linux下實現免密碼登入Linux密碼
- Winform在主窗體載入前彈出登入窗體ORM
- Jetpack Compose學習(1)——從登入頁開始入門Jetpack
- OneClock的翻頁時鐘效果是如何實現的
- 說說如何在登入頁實現生成驗證碼功能
- 直播平臺搭建,實現自定義設定登入頁面
- 網站登入JWT的實現網站JWT
- Android自定義View——從零開始實現書籍翻頁效果(二)AndroidView
- 用CSS實現Tab頁切換效果CSS
- ViewPager、Fragment和TabLayout實現切頁效果ViewpagerFragmentTabLayout
- vue+Element-ui實現分頁效果VueUI
- Web 頁面如何實現動畫效果Web動畫
- 教你如何使用MvcPager實現分頁效果MVC