mirror of
https://github.com/topjohnwu/Magisk.git
synced 2024-12-25 10:17:38 +00:00
Added text switchers for descriptions
This commit is contained in:
parent
1396faf433
commit
cb2a1e57fe
@ -1,9 +1,13 @@
|
|||||||
package com.topjohnwu.magisk.redesign.home
|
package com.topjohnwu.magisk.redesign.home
|
||||||
|
|
||||||
|
import com.skoumal.teanity.util.KObservableField
|
||||||
import com.topjohnwu.magisk.redesign.compat.CompatViewModel
|
import com.topjohnwu.magisk.redesign.compat.CompatViewModel
|
||||||
|
|
||||||
class HomeViewModel : CompatViewModel() {
|
class HomeViewModel : CompatViewModel() {
|
||||||
|
|
||||||
|
val stateTextMagisk = KObservableField("is up to date")
|
||||||
|
val stateTextManager = KObservableField("is up to date")
|
||||||
|
|
||||||
fun onDeletePressed() {}
|
fun onDeletePressed() {}
|
||||||
|
|
||||||
}
|
}
|
@ -1,7 +1,9 @@
|
|||||||
package com.topjohnwu.magisk.utils
|
package com.topjohnwu.magisk.utils
|
||||||
|
|
||||||
import android.view.View
|
import android.view.View
|
||||||
|
import android.widget.TextSwitcher
|
||||||
import android.widget.TextView
|
import android.widget.TextView
|
||||||
|
import android.widget.ViewSwitcher
|
||||||
import androidx.annotation.ColorInt
|
import androidx.annotation.ColorInt
|
||||||
import androidx.annotation.DrawableRes
|
import androidx.annotation.DrawableRes
|
||||||
import androidx.appcompat.widget.AppCompatImageView
|
import androidx.appcompat.widget.AppCompatImageView
|
||||||
@ -245,4 +247,22 @@ fun View.setOnSelectClickListener(listener: View.OnClickListener, resetTime: Lon
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@BindingAdapter("textCaptionVariant")
|
||||||
|
fun TextSwitcher.setTextBinding(text: CharSequence) {
|
||||||
|
tag as? ViewSwitcher.ViewFactory ?: ViewSwitcher.ViewFactory {
|
||||||
|
View.inflate(context, R.layout.swicher_caption_variant, null)
|
||||||
|
}.also {
|
||||||
|
tag = it
|
||||||
|
setFactory(it)
|
||||||
|
setInAnimation(context, R.anim.switcher_bottom_up)
|
||||||
|
setOutAnimation(context, R.anim.switcher_center_up)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
val currentText = (currentView as? TextView)?.text
|
||||||
|
if (currentText != text) {
|
||||||
|
setText(text)
|
||||||
|
}
|
||||||
}
|
}
|
10
app/src/main/res/anim/switcher_bottom_up.xml
Normal file
10
app/src/main/res/anim/switcher_bottom_up.xml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<set xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:duration="@android:integer/config_shortAnimTime">
|
||||||
|
<translate
|
||||||
|
android:fromYDelta="100%"
|
||||||
|
android:toYDelta="0%" />
|
||||||
|
<alpha
|
||||||
|
android:fromAlpha="0"
|
||||||
|
android:toAlpha="1" />
|
||||||
|
</set>
|
10
app/src/main/res/anim/switcher_center_up.xml
Normal file
10
app/src/main/res/anim/switcher_center_up.xml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<set xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:duration="@android:integer/config_shortAnimTime">
|
||||||
|
<translate
|
||||||
|
android:fromYDelta="0%"
|
||||||
|
android:toYDelta="-100%" />
|
||||||
|
<alpha
|
||||||
|
android:fromAlpha="1"
|
||||||
|
android:toAlpha="0" />
|
||||||
|
</set>
|
@ -41,7 +41,7 @@
|
|||||||
style="?styleIconPrimary"
|
style="?styleIconPrimary"
|
||||||
onSelectClick="@{() -> viewModel.onDeletePressed()}"
|
onSelectClick="@{() -> viewModel.onDeletePressed()}"
|
||||||
onSelectReset="@{10000L}"
|
onSelectReset="@{10000L}"
|
||||||
android:padding="@dimen/l_50"
|
android:padding="@dimen/l_25"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:srcCompat="@drawable/ic_magisk_delete"
|
app:srcCompat="@drawable/ic_magisk_delete"
|
||||||
@ -60,12 +60,11 @@
|
|||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:layout_constraintVertical_chainStyle="packed" />
|
app:layout_constraintVertical_chainStyle="packed" />
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatTextView
|
<TextSwitcher
|
||||||
android:id="@+id/status1"
|
android:id="@+id/status1"
|
||||||
|
textCaptionVariant="@{viewModel.stateTextMagisk}"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="is up to date"
|
|
||||||
android:textAppearance="?appearanceTextCaptionVariant"
|
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/icon1"
|
app:layout_constraintBottom_toBottomOf="@+id/icon1"
|
||||||
app:layout_constraintEnd_toEndOf="@+id/title1"
|
app:layout_constraintEnd_toEndOf="@+id/title1"
|
||||||
app:layout_constraintStart_toStartOf="@+id/title1"
|
app:layout_constraintStart_toStartOf="@+id/title1"
|
||||||
@ -135,12 +134,11 @@
|
|||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:layout_constraintVertical_chainStyle="packed" />
|
app:layout_constraintVertical_chainStyle="packed" />
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatTextView
|
<TextSwitcher
|
||||||
android:id="@+id/status2"
|
android:id="@+id/status2"
|
||||||
|
textCaptionVariant="@{viewModel.stateTextManager}"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="has update available!"
|
|
||||||
android:textAppearance="?appearanceTextCaptionVariant"
|
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/icon2"
|
app:layout_constraintBottom_toBottomOf="@+id/icon2"
|
||||||
app:layout_constraintEnd_toEndOf="@+id/title2"
|
app:layout_constraintEnd_toEndOf="@+id/title2"
|
||||||
app:layout_constraintStart_toStartOf="@+id/title2"
|
app:layout_constraintStart_toStartOf="@+id/title2"
|
||||||
|
5
app/src/main/res/layout/swicher_caption_variant.xml
Normal file
5
app/src/main/res/layout/swicher_caption_variant.xml
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:textAppearance="?appearanceTextCaptionVariant" />
|
Loading…
x
Reference in New Issue
Block a user