committed by
bunnei
12 changed files with 80 additions and 163 deletions
-
8src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsActivity.kt
-
46src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFrameLayout.kt
-
16src/android/app/src/main/res/anim-ldrtl/anim_pop_settings_fragment_out.xml
-
16src/android/app/src/main/res/anim-ldrtl/anim_settings_fragment_in.xml
-
16src/android/app/src/main/res/anim/anim_pop_settings_fragment_out.xml
-
16src/android/app/src/main/res/anim/anim_settings_fragment_in.xml
-
10src/android/app/src/main/res/anim/anim_settings_fragment_out.xml
-
28src/android/app/src/main/res/animator/settings_enter.xml
-
28src/android/app/src/main/res/animator/settings_exit.xml
-
28src/android/app/src/main/res/animator/settings_pop_enter.xml
-
27src/android/app/src/main/res/animator/setttings_pop_exit.xml
-
4src/android/app/src/main/res/layout/fragment_settings.xml
@ -1,46 +0,0 @@ |
|||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project |
|||
// SPDX-License-Identifier: GPL-2.0-or-later |
|||
|
|||
package org.yuzu.yuzu_emu.features.settings.ui |
|||
|
|||
import android.content.Context |
|||
import android.util.AttributeSet |
|||
import android.widget.FrameLayout |
|||
|
|||
/** |
|||
* FrameLayout subclass with few Properties added to simplify animations. |
|||
* Don't remove the methods appearing as unused, in order not to break the menu animations |
|||
*/ |
|||
class SettingsFrameLayout : FrameLayout { |
|||
private val mVisibleness = 1.0f |
|||
|
|||
constructor(context: Context?) : super(context!!) |
|||
constructor(context: Context?, attrs: AttributeSet?) : super(context!!, attrs) |
|||
|
|||
constructor( |
|||
context: Context?, |
|||
attrs: AttributeSet?, |
|||
defStyleAttr: Int |
|||
) : super(context!!, attrs, defStyleAttr) |
|||
|
|||
constructor( |
|||
context: Context?, |
|||
attrs: AttributeSet?, |
|||
defStyleAttr: Int, |
|||
defStyleRes: Int |
|||
) : super(context!!, attrs, defStyleAttr, defStyleRes) |
|||
|
|||
var yFraction: Float |
|||
get() = y / height |
|||
set(yFraction) { |
|||
val height = height |
|||
y = (if (height > 0) yFraction * height else -9999) as Float |
|||
} |
|||
var visibleness: Float |
|||
get() = mVisibleness |
|||
set(visibleness) { |
|||
scaleX = visibleness |
|||
scaleY = visibleness |
|||
alpha = visibleness |
|||
} |
|||
} |
|||
@ -0,0 +1,16 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<set xmlns:android="http://schemas.android.com/apk/res/android"> |
|||
|
|||
<alpha |
|||
android:duration="125" |
|||
android:interpolator="@android:anim/decelerate_interpolator" |
|||
android:fromAlpha="1" |
|||
android:toAlpha="0" /> |
|||
|
|||
<translate |
|||
android:duration="125" |
|||
android:interpolator="@android:anim/decelerate_interpolator" |
|||
android:fromXDelta="0" |
|||
android:toXDelta="-75" /> |
|||
|
|||
</set> |
|||
@ -0,0 +1,16 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<set xmlns:android="http://schemas.android.com/apk/res/android"> |
|||
|
|||
<alpha |
|||
android:duration="@android:integer/config_shortAnimTime" |
|||
android:interpolator="@android:anim/decelerate_interpolator" |
|||
android:fromAlpha="0" |
|||
android:toAlpha="1" /> |
|||
|
|||
<translate |
|||
android:duration="@android:integer/config_shortAnimTime" |
|||
android:interpolator="@android:anim/decelerate_interpolator" |
|||
android:fromXDelta="-200" |
|||
android:toXDelta="0" /> |
|||
|
|||
</set> |
|||
@ -0,0 +1,16 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<set xmlns:android="http://schemas.android.com/apk/res/android"> |
|||
|
|||
<alpha |
|||
android:duration="125" |
|||
android:interpolator="@android:anim/decelerate_interpolator" |
|||
android:fromAlpha="1" |
|||
android:toAlpha="0" /> |
|||
|
|||
<translate |
|||
android:duration="125" |
|||
android:interpolator="@android:anim/decelerate_interpolator" |
|||
android:fromXDelta="0" |
|||
android:toXDelta="75" /> |
|||
|
|||
</set> |
|||
@ -0,0 +1,16 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<set xmlns:android="http://schemas.android.com/apk/res/android"> |
|||
|
|||
<alpha |
|||
android:duration="@android:integer/config_shortAnimTime" |
|||
android:interpolator="@android:anim/decelerate_interpolator" |
|||
android:fromAlpha="0" |
|||
android:toAlpha="1" /> |
|||
|
|||
<translate |
|||
android:duration="@android:integer/config_shortAnimTime" |
|||
android:interpolator="@android:anim/decelerate_interpolator" |
|||
android:fromXDelta="200" |
|||
android:toXDelta="0" /> |
|||
|
|||
</set> |
|||
@ -0,0 +1,10 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<set xmlns:android="http://schemas.android.com/apk/res/android"> |
|||
|
|||
<alpha |
|||
android:duration="@android:integer/config_shortAnimTime" |
|||
android:interpolator="@android:anim/decelerate_interpolator" |
|||
android:fromAlpha="1" |
|||
android:toAlpha="0" /> |
|||
|
|||
</set> |
|||
@ -1,28 +0,0 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<set xmlns:android="http://schemas.android.com/apk/res/android"> |
|||
|
|||
<objectAnimator |
|||
android:duration="@android:integer/config_mediumAnimTime" |
|||
android:interpolator="@android:interpolator/decelerate_cubic" |
|||
android:propertyName="yFraction" |
|||
android:startOffset="@android:integer/config_shortAnimTime" |
|||
android:valueFrom="1.0" |
|||
android:valueTo="0" /> |
|||
|
|||
<objectAnimator |
|||
android:duration="@android:integer/config_mediumAnimTime" |
|||
android:interpolator="@android:interpolator/decelerate_cubic" |
|||
android:propertyName="translationZ" |
|||
android:startOffset="@android:integer/config_shortAnimTime" |
|||
android:valueFrom="100.0" |
|||
android:valueTo="0" /> |
|||
|
|||
<objectAnimator |
|||
android:duration="@android:integer/config_mediumAnimTime" |
|||
android:interpolator="@android:interpolator/decelerate_cubic" |
|||
android:propertyName="elevation" |
|||
android:startOffset="@android:integer/config_shortAnimTime" |
|||
android:valueFrom="100.0" |
|||
android:valueTo="0" /> |
|||
|
|||
</set> |
|||
@ -1,28 +0,0 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<set xmlns:android="http://schemas.android.com/apk/res/android"> |
|||
|
|||
<objectAnimator |
|||
android:duration="@android:integer/config_mediumAnimTime" |
|||
android:interpolator="@android:interpolator/accelerate_cubic" |
|||
android:propertyName="visibleness" |
|||
android:valueFrom="1.0f" |
|||
android:valueTo="0.6f" |
|||
android:valueType="floatType" /> |
|||
|
|||
<objectAnimator |
|||
android:duration="@android:integer/config_mediumAnimTime" |
|||
android:interpolator="@android:interpolator/decelerate_cubic" |
|||
android:propertyName="translationZ" |
|||
android:startOffset="@android:integer/config_shortAnimTime" |
|||
android:valueFrom="0" |
|||
android:valueTo="-100.0" /> |
|||
|
|||
<objectAnimator |
|||
android:duration="@android:integer/config_mediumAnimTime" |
|||
android:interpolator="@android:interpolator/decelerate_cubic" |
|||
android:propertyName="elevation" |
|||
android:startOffset="@android:integer/config_shortAnimTime" |
|||
android:valueFrom="0" |
|||
android:valueTo="-100.0" /> |
|||
|
|||
</set> |
|||
@ -1,28 +0,0 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<set xmlns:android="http://schemas.android.com/apk/res/android"> |
|||
|
|||
<objectAnimator |
|||
android:duration="@android:integer/config_mediumAnimTime" |
|||
android:interpolator="@android:interpolator/decelerate_cubic" |
|||
android:propertyName="visibleness" |
|||
android:valueFrom="0.6f" |
|||
android:valueTo="1.0f" |
|||
android:valueType="floatType" /> |
|||
|
|||
<objectAnimator |
|||
android:duration="@android:integer/config_mediumAnimTime" |
|||
android:interpolator="@android:interpolator/decelerate_cubic" |
|||
android:propertyName="translationZ" |
|||
android:startOffset="@android:integer/config_shortAnimTime" |
|||
android:valueFrom="-100.0" |
|||
android:valueTo="0" /> |
|||
|
|||
<objectAnimator |
|||
android:duration="@android:integer/config_mediumAnimTime" |
|||
android:interpolator="@android:interpolator/decelerate_cubic" |
|||
android:propertyName="elevation" |
|||
android:startOffset="@android:integer/config_shortAnimTime" |
|||
android:valueFrom="-100.0" |
|||
android:valueTo="0" /> |
|||
|
|||
</set> |
|||
@ -1,27 +0,0 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<set xmlns:android="http://schemas.android.com/apk/res/android"> |
|||
|
|||
<objectAnimator |
|||
android:duration="@android:integer/config_mediumAnimTime" |
|||
android:interpolator="@android:interpolator/accelerate_cubic" |
|||
android:propertyName="yFraction" |
|||
android:valueFrom="0" |
|||
android:valueTo="1.0" /> |
|||
|
|||
<objectAnimator |
|||
android:duration="@android:integer/config_mediumAnimTime" |
|||
android:interpolator="@android:interpolator/decelerate_cubic" |
|||
android:propertyName="translationZ" |
|||
android:startOffset="@android:integer/config_shortAnimTime" |
|||
android:valueFrom="0.0" |
|||
android:valueTo="100" /> |
|||
|
|||
<objectAnimator |
|||
android:duration="@android:integer/config_mediumAnimTime" |
|||
android:interpolator="@android:interpolator/decelerate_cubic" |
|||
android:propertyName="elevation" |
|||
android:startOffset="@android:integer/config_shortAnimTime" |
|||
android:valueFrom="0.0" |
|||
android:valueTo="100" /> |
|||
|
|||
</set> |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue