Skip to content

Instantly share code, notes, and snippets.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
<title>Picker 教程 - 分步学习</title>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', sans-serif;
@aaaa-zhen
aaaa-zhen / gist:4f19e9f951dabd2efbeba71c7f0cc5a5
Created June 5, 2025 03:16
Spring and velocity animation
// 定义角落数据类
private data class Corner(val x: Float, val y: Float)
// 智能计算目标角落的函数
private fun calculateTargetCorner(
currentX: Float,
currentY: Float,
velocityX: Float,
velocityY: Float,
pipWidth: Float,
@aaaa-zhen
aaaa-zhen / gist:3e7118e0db5a73cad856295c8012c82f
Created May 17, 2025 05:16
jetpack compose live camera
package com.yourpackage // 替换成你的包名
import android.Manifest
import android.content.Context
import android.graphics.Bitmap
import android.graphics.BitmapFactory
import android.graphics.Matrix
import android.util.Log
import android.view.ViewGroup
import androidx.camera.core.*
@aaaa-zhen
aaaa-zhen / gist:48023129a5e39e808b68028a30f51ed2
Created April 13, 2025 10:56
Spring animation with Velocity
@Preview
@Composable
fun TextSpringWithVelocity() {
val animatedY = remember { Animatable(0f) }
// Spring animation spec
val springSpec = spring<Float>(
dampingRatio = 0.5f, // You can adjust the damping ratio for bounce
stiffness = 200f // You can adjust stiffness for speed of movement
)
@Preview
@Composable
fun PreviewColorSlider() {
Box(modifier = Modifier
.fillMaxSize()
.background(Color.Black))
val colors = listOf(Color.White.copy(0.4f), Color.White,Color.White.copy(0.4f), Color.White,Color.White.copy(0.4f), Color.White,Color.White.copy(0.4f), Color.White,Color.White.copy(0.4f), Color.White,Color.White.copy(0.4f), Color.White,Color.White.copy(0.4f), Color.White,Color.White.copy(0.4f), Color.White,Color.White.copy(0.4f), Color.White,Color.White.copy(0.4f), Color.White,Color.White.copy(0.4f), Color.White,Color.White.copy(0.4f), Color.White,Color.White.copy(0.4f), Color.White,Color.White.copy(0.4f), Color.White,Color.White.copy(0.4f), Color.White,Color.White.copy(0.4f), Color.White,Color.White.copy(0.4f), Color.White,Color.White.copy(0.4f), Color.White, )
ColorSlider(
modifier = Modifier
@aaaa-zhen
aaaa-zhen / gist:810ed538c1bdebd3d8d91ac4b1dfb8d9
Created February 21, 2025 06:25
Magnification effect in jetpack compose
@Preview
@Composable
fun ListIcon() {
val density = LocalDensity.current
var offsetX by remember { mutableStateOf(0f) }
var offsetY by remember { mutableStateOf(0f) }
val circlePositions = remember { mutableStateListOf<Offset>() }
var enlargedCircleIndex by remember { mutableStateOf(-1) }
// 添加计算相邻缩放的函数
val MetaballShader = """
uniform float2 resolution;
uniform shader image;
uniform float time;
half4 main(vec2 fragCoord) {
float2 uv = fragCoord/resolution.xy;
float aspect = resolution.x/resolution.y;
float2 adjustedUV = float2(uv.x * aspect - aspect*0.5, uv.y - 0.5);
@aaaa-zhen
aaaa-zhen / gist:8d5b3ff42ffb89b607040e5d29ee85a6
Last active October 9, 2024 10:25
Shader with controller size
private val runtimeShader = """
uniform shader image;
uniform float2 resolution;
uniform float rectWidth;
uniform float rectHeight;
uniform float intensity;
uniform int tonemap;
half4 main(float2 coord) {
float2 uv = coord.xy / resolution;
@aaaa-zhen
aaaa-zhen / gist:dce14db05cc73ccac4e50e17fc929ba3
Created October 9, 2024 02:42
P3 Color in Jetpack Compose
val p3Colors = listOf(
Color(
red = 1.0f,
green = 0.247f,
blue = 0.612f,
colorSpace = ColorSpaces.DisplayP3
),
Color(
red = 0.117f,
green = 0.251f,
private val runtimeShader = """
uniform shader image;
uniform float2 resolution;
uniform float rectWidth;
uniform float rectHeight;
uniform float intensity;
uniform int tonemap;
half4 main(float2 coord) {
float2 uv = coord.xy / resolution;