mirror of
https://github.com/fcitx5-android/fcitx5-android.git
synced 2026-08-02 04:44:35 +08:00
New preference for candidate window corner radius (#711)
Co-authored-by: Rocka <i@rocka.me>
This commit is contained in:
parent
37bbbd8c47
commit
e414817d01
@ -294,6 +294,9 @@ class AppPrefs(private val sharedPreferences: SharedPreferences) {
|
||||
val fontSize =
|
||||
int(R.string.candidates_font_size, "candidates_window_font_size", 20, 4, 64, "sp")
|
||||
|
||||
val windowRadius =
|
||||
int(R.string.candidates_window_radius, "candidates_window_radius", 0, 0, 48, "dp")
|
||||
|
||||
val itemPaddingVertical: ManagedPreference.PInt
|
||||
val itemPaddingHorizontal: ManagedPreference.PInt
|
||||
|
||||
|
||||
@ -6,8 +6,10 @@
|
||||
package org.fcitx.fcitx5.android.input
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.graphics.drawable.GradientDrawable
|
||||
import android.os.Build
|
||||
import android.view.ViewGroup
|
||||
import android.view.ViewOutlineProvider
|
||||
import android.view.ViewTreeObserver.OnGlobalLayoutListener
|
||||
import android.view.ViewTreeObserver.OnPreDrawListener
|
||||
import android.view.WindowInsets
|
||||
@ -22,7 +24,6 @@ import org.fcitx.fcitx5.android.data.theme.Theme
|
||||
import org.fcitx.fcitx5.android.input.candidates.floating.PagedCandidatesUi
|
||||
import org.fcitx.fcitx5.android.input.preedit.PreeditUi
|
||||
import splitties.dimensions.dp
|
||||
import splitties.views.backgroundColor
|
||||
import splitties.views.dsl.constraintlayout.below
|
||||
import splitties.views.dsl.constraintlayout.bottomOfParent
|
||||
import splitties.views.dsl.constraintlayout.centerHorizontally
|
||||
@ -49,6 +50,7 @@ class CandidatesView(
|
||||
private val orientation by candidatesPrefs.orientation
|
||||
private val windowMinWidth by candidatesPrefs.windowMinWidth
|
||||
private val windowPadding by candidatesPrefs.windowPadding
|
||||
private val windowRadius by candidatesPrefs.windowRadius
|
||||
private val fontSize by candidatesPrefs.fontSize
|
||||
private val itemPaddingVertical by candidatesPrefs.itemPaddingVertical
|
||||
private val itemPaddingHorizontal by candidatesPrefs.itemPaddingHorizontal
|
||||
@ -186,7 +188,13 @@ class CandidatesView(
|
||||
|
||||
minWidth = dp(windowMinWidth)
|
||||
padding = dp(windowPadding)
|
||||
backgroundColor = theme.backgroundColor
|
||||
background = GradientDrawable().apply {
|
||||
setColor(theme.backgroundColor)
|
||||
shape = GradientDrawable.RECTANGLE
|
||||
cornerRadius = dp(windowRadius).toFloat()
|
||||
}
|
||||
clipToOutline = true
|
||||
outlineProvider = ViewOutlineProvider.BACKGROUND
|
||||
add(preeditUi.root, lParams(wrapContent, wrapContent) {
|
||||
topOfParent()
|
||||
startOfParent()
|
||||
|
||||
@ -270,6 +270,7 @@
|
||||
<string name="crop">Crop</string>
|
||||
<string name="candidates_window">Candidates Window</string>
|
||||
<string name="show_candidates_window">Show candidates window</string>
|
||||
<string name="candidates_window_radius">Candidates window radius</string>
|
||||
<string name="follow_input_device">Depends on input device</string>
|
||||
<string name="candidates_orientation">Candidates list orientation</string>
|
||||
<string name="automatic">Automatic</string>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user