mirror of
https://git.suyu.dev/suyu/suyu.git
synced 2024-12-23 08:50:57 +01:00
android: Convert SettingsFrameLayout to Kotlin
This commit is contained in:
parent
c39bf17f83
commit
a29c615f8d
2 changed files with 43 additions and 48 deletions
|
@ -1,48 +0,0 @@
|
||||||
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
|
|
||||||
*/
|
|
||||||
public final class SettingsFrameLayout extends FrameLayout {
|
|
||||||
private float mVisibleness = 1.0f;
|
|
||||||
|
|
||||||
public SettingsFrameLayout(Context context) {
|
|
||||||
super(context);
|
|
||||||
}
|
|
||||||
|
|
||||||
public SettingsFrameLayout(Context context, AttributeSet attrs) {
|
|
||||||
super(context, attrs);
|
|
||||||
}
|
|
||||||
|
|
||||||
public SettingsFrameLayout(Context context, AttributeSet attrs, int defStyleAttr) {
|
|
||||||
super(context, attrs, defStyleAttr);
|
|
||||||
}
|
|
||||||
|
|
||||||
public SettingsFrameLayout(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
|
|
||||||
super(context, attrs, defStyleAttr, defStyleRes);
|
|
||||||
}
|
|
||||||
|
|
||||||
public float getYFraction() {
|
|
||||||
return getY() / getHeight();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setYFraction(float yFraction) {
|
|
||||||
final int height = getHeight();
|
|
||||||
setY((height > 0) ? (yFraction * height) : -9999);
|
|
||||||
}
|
|
||||||
|
|
||||||
public float getVisibleness() {
|
|
||||||
return mVisibleness;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setVisibleness(float visibleness) {
|
|
||||||
setScaleX(visibleness);
|
|
||||||
setScaleY(visibleness);
|
|
||||||
setAlpha(visibleness);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -0,0 +1,43 @@
|
||||||
|
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
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue