Skip to content

Instantly share code, notes, and snippets.

View zerofancy's full-sized avatar

归零幻想 zerofancy

View GitHub Profile
@zerofancy
zerofancy / FloatingWindow.kt
Created February 9, 2025 09:36
在安卓悬浮窗中使用Compose
package top.ntutn.floatcompose
import android.content.Context
import android.graphics.PixelFormat
import android.os.Bundle
import android.util.AttributeSet
import android.util.Log
import android.view.Gravity
import android.view.View
import android.view.ViewGroup
@zerofancy
zerofancy / DemoTextView.kt
Created December 5, 2024 04:40
绘制文本描边
package top.ntutn.textviewdemo
import android.content.Context
import android.graphics.Canvas
import android.graphics.Color
import android.graphics.Paint
import android.util.AttributeSet
import androidx.appcompat.widget.AppCompatTextView
class DemoTextView @JvmOverloads constructor(context: Context, defStyleAttr: AttributeSet? = null, defStyleRes: Int = 0) : AppCompatTextView(context, defStyleAttr, defStyleRes) {
@zerofancy
zerofancy / gist:87645b411159ae7c64bb85e180bad3fc
Created March 17, 2024 22:08
模仿微信涂抹文字选择。
package top.ntutn.swipeselectview
import android.annotation.SuppressLint
import android.content.Context
import android.graphics.Rect
import android.util.AttributeSet
import android.view.MotionEvent
import android.view.View
import androidx.core.view.children
import com.google.android.material.chip.ChipGroup
@zerofancy
zerofancy / Ext.kt
Last active March 23, 2023 10:56
fragment便捷传参
import android.os.Bundle
import androidx.fragment.app.Fragment
import kotlin.properties.ReadWriteProperty
class FragmentBundleDataDelegate<T : Any>(private val clazz: Class<T>, private val defaultValue: T? = null) :
ReadWriteProperty<Fragment, T?> {
@Suppress("UNCHECKED_CAST")
override fun getValue(
thisRef: Fragment,