Skip to content

Instantly share code, notes, and snippets.

View webianks's full-sized avatar
🎯
Focusing

Ramankit Singh webianks

🎯
Focusing
View GitHub Profile
@webianks
webianks / ScalingView.kt
Last active July 13, 2020 13:42
Achieving scale down/up and the onClick callback on CTA views with Compound Views, Gesture Detector, and ObjectAnimator in Android.
import android.animation.AnimatorSet
import android.animation.ObjectAnimator
import android.annotation.SuppressLint
import android.content.Context
import android.util.AttributeSet
import android.view.GestureDetector
import android.view.MotionEvent
import android.view.View
import android.widget.FrameLayout
import androidx.core.view.GestureDetectorCompat
@webianks
webianks / main.dart
Created August 23, 2019 11:32
Scanning Animation In Flutter
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:scanning_aimation/scanner.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
phoneNumberFocusNode.addListener(() {
bool hasFocus = searchData.phoneNumberFocusNode.hasFocus;
if (hasFocus)
showOverlay(context);
else
removeOverlay();
});
showOverlay(BuildContext context) {
if (overlayEntry != null) return;
OverlayState overlayState = Overlay.of(context);
overlayEntry = OverlayEntry(builder: (context) {
return Positioned(
bottom: MediaQuery.of(context).viewInsets.bottom,
right: 0.0,
left: 0.0,
child: InputDoneView());
});
class InputDoneView extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Container(
width: double.infinity,
color: Color(Const.doneButtonBg),
child: Align(
alignment: Alignment.topRight,
child: Padding(
padding: const EdgeInsets.only(top: 4.0, bottom: 4.0),
CupertinoPageScaffold(
navigationBar: CupertinoNavigationBar(
middle: Text(
title,
style: TextStyle(color: Colors.black),
),
trailing: CupertinoButton(
padding: EdgeInsets.only(top: 0, right: 16.0),
child: Text(
"Save",
showActionSheet(
context: context,
child: CupertinoActionSheet(
message: const Text('Select image from'),
actions: <Widget>[
CupertinoActionSheetAction(
child: Padding(
padding: const EdgeInsets.only(right: 16.0),
child: Text(
'Camera',
showDialog(
context: context,
barrierDismissible: false,
builder: (context) {
return new CupertinoAlertDialog(
title: new Text('Data not saved?'),
content: new Text(
'Data will be lost. Are you sure you want to exit?'),
actions: <Widget>[
new CupertinoButton(
final Map<int, Widget> children = <int, Widget>{
0: Text('Basic'),
1: Text('Advanced'),
};
CupertinoSegmentedControl<int>(
children: children,
onValueChanged: (int newValue) {
setState(() {
CupertinoTextField(
keyboardType: TextInputType.number,
controller: minAgeController,
decoration: BoxDecoration(
border: Border(
bottom: BorderSide(
color: Color(0xFFbdbdbd),
width: 1.0,
))),
style: TextStyle(