登入頁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,效果實現跟產品要求一致,並且不用重新另起一個頁面了,一開始的研究方向就出問題了。
記自己的一次踩坑之旅,後者可以少耽誤點時間了,共勉
相關文章
- jQuery實現的點選彈出登陸視窗效果jQuery
- SVG 動畫實現彈性的頁面元素效果SVG動畫
- jquery實現的彈出居中視窗效果jQuery
- jquery登入頁面效果圖jQuery
- js實現彈出層滑鼠跟隨效果JS
- activity切換無動畫效果的實現動畫
- Android實現人人網點選“+”彈出效果Android
- 網頁點選實現下載效果網頁
- jQuery實現的自定義可以拖動的彈出層效果jQuery
- Flutter入門篇(三)— 如何實現登入動畫效果Flutter動畫
- Android實現Activity的滑動返回效果Android
- iOS開發登入頁面的實現iOS
- Flutter實現用視訊背景的登入頁Flutter
- css實現的彈出視窗始終垂直水平居中效果CSS
- CSS3實現的頁面載入等待效果CSSS3
- 用Unity實現彈反效果Unity
- ajax 實現微信網頁授權登入網頁
- Path實現常見toolbar點選彈出選單效果
- Vue-router實現單頁面應用在沒有登入情況下,自動跳轉到登入頁面Vue
- Flutter實戰 | 從 0 搭建「網易雲音樂」APP(二、Splash Page、登入頁、發現頁)FlutterAPP
- vue中頁面載入進度條效果的實現Vue
- 實現頁面載入的變換和位移動畫效果動畫
- Flutter 實現虎牙/鬥魚 彈幕效果Flutter
- Fragment從上到下進入效果Fragment
- 如何不使用js實現滑鼠hover彈出選單效果JS
- jQuery實現的彈出垂直水平居中視窗效果程式碼例項jQuery
- Android彈幕功能實現,模仿鬥魚直播的彈幕效果Android
- jQuery拖拽的彈出層效果jQuery
- Activity彈出視窗含意解釋
- 【Android】在Activity頁面中如何實現Fragment資料的緩載入AndroidFragment
- jQuery實現的關閉頁面彈出提示例項程式碼jQuery
- jQuery實現的但行文字具有時間間隔向上滾動效果jQuery
- SpringAnimator彈簧聯動效果的實現Spring
- 原生js實現的點選彈出螢幕居中對話方塊效果JS
- 微信掃小程式碼實現網頁端登入網頁
- Spartacus 註冊和登入頁面的實現細節
- iOS 類知乎”分頁”效果的實現?iOS
- app直播原始碼,平臺登入頁面實現和修改密碼頁面實現APP原始碼密碼