Tips: Creating Animated Buttons in AppSheet

​Hello everyone! This time, I would like to share a complete guide on how to create dynamic and aesthetic animated buttons in AppSheet using the Button Maker tool.

​Step 1: Tool Preparation

​First, make sure to access or install Button Maker for AppSheet via this community link:

:backhand_index_pointing_right: Button Maker Discussion & Link

​Step 2: Designing the Button (Base Design)

​To get the best visual results with rich effects, follow this setup sequence:

  1. Choose Type: In the main menu, select Non-Flat Design. This option unlocks premium features like shadows, glows, and 3-color gradients..

  2. Adjust Size (Shape): Set the width, height and RX (rounded) of the button to match your application layout needs.

  3. Customize Text: Enter your button text or label in the text menu (e.g., Get Started).

  4. Mix Colors (Gradient): Select the Gradient menu. Here, you can blend up to 3 colors. Adjust the rotation to get the perfect color angle.

​Step 3: Applying Animation & Copying the Code

​Once your base button looks solid, it is time to bring it to life with animation:

  1. Select Animation: There are 9 ready-to-use animation templates. Choose the one that best fits your app theme (e.g., Animasi_6).

  2. Copy SVG Code: Click the green Salin Kode Animasi action button. Select the entire code and copy it.

  3. Validate & Convert:

​Step 4: Implementation in AppSheet Editor

​The final step is integrating the button into your AppSheet editor:

  1. ​Open your AppSheet Editor and create a new column (add virtual column) for your button.

  2. Create a Virtual Column
    Create a new Virtual Column (as LONG TEXT : HTML) and use the following formula structure

    CONCATENATE('<a href="your link page" target="_blank"><img src="base64" width="120"></a>')
    
      • Replace base64: Paste the copied code from the SVG viewer into the base64 text (replace).

      • Replace your link page: Change your link page to match the destination page you want to direct users to.

      • Adjust Width: Change the width=“120” value to match the original width layout of your button design.

Step 5: Setting up the View Layout

​To display your newly created animated button inside the app interface:

  1. ​Go to the UX menu in the AppSheet editor and select Views.

  2. ​Select your data table that contains the button virtual column.

  3. ​Choose detail as the View type.

  4. ​Set the Position to place the view exactly where you want it to appear in your app navigation.​

:link: Live Demo / Sample Result

​To see a live example of this implementation and see how the button works directly inside the application, you can check the following link:

Good luck trying it out, hope it works perfectly! If you face any issues while trying this method, feel free to discuss it in the comments. Let’s make AppSheet UIs look premium

SVG CODE sample :

<svg xmlns="" width="540" height="105" viewBox="0 0 540 105"><defs><filter id="fShadow" x="-50%" y="-50%" width="200%" height="200%"><feDropShadow dx="5" dy="5" stdDeviation="6" flood-color="Purple" flood-opacity="0.8"/></filter><filter id="fGlow" x="-50%" y="-50%" width="200%" height="200%"><feDropShadow dx="0" dy="0" stdDeviation="7" flood-color="URL(#gStroke)" flood-opacity="0.9"/></filter><linearGradient id="gS"><stop offset="0%" stop-color="Navy"/><stop offset="50%" stop-color="DeepSkyBlue"/><stop offset="100%" stop-color="HotPink"/><animateTransform attributeName="gradientTransform" type="rotate" from="0 0.5 0.5" to="360 0.5 0.5" dur="3s" repeatCount="indefinite"/></linearGradient><clipPath id="c"><rect x="20" y="20" width="500" height="65" rx="15"/></clipPath></defs><g filter="url(#fShadow)"><rect x="20" y="20" width="500" height="65" rx="15" fill="url(#gS)" stroke="URL(#gStroke)" stroke-width="3" filter="url(#fGlow)"/></g><g clip-path="url(#c)"><text x="270" dominant-baseline="middle" text-anchor="middle" fill="White" font-family="VERDANA" font-size="30" font-weight="bold"><animate attributeName="y" from="105" to="-20" dur="4s" repeatCount="indefinite"/>APPROVE ✅</text></g></svg>

4 Likes

​Guide: Implementing SVG Status Indicators in AppSheet

​Here is how to create a custom status indicator (Approve , Reject, Pending) for your AppSheet tables using BUTTON MAKER, like this:

​1. Design Setup (SVG)

​Prepare your button design with the following dimensions:

Tutorial link: Tips: Creating Animated Buttons in AppSheet

Button maker link : Does AppSheet need a Button Maker?

2. Virtual Column Configuration

​Create 4 virtual columns to handle the logic and display:

  • APPROVE (LongText): Paste your SVG code here (Shape: LightGreen, Stroke: Green, Text: Green).
  • REJECT (LongText): Paste your SVG code here (Shape: LightPink, Stroke: Red, Text: Red).
  • PENDING (LongText): Paste your SVG code here (Shape: Yellow, Stroke: Black, Text: Black).
  • status_SVG (Thumbnail): This will be your main display column.

​3. Logic Formula ( SVG code)

Virtual columns

:small_orange_diamond:Approve

Concatenate ("data:image/svg+xml;utf8,<svg xmlns=""http://www.w3.org/2000/svg"" width=""140"" height=""60"" viewBox=""0 0 140 60""><rect x=""10"" y=""10"" width=""120"" height=""40"" rx=""15"" fill=""LightGreen"" stroke=""Green"" stroke-width=""3""/><text x=""50%"" y=""52%"" dominant-baseline=""middle"" text-anchor=""middle"" fill=""Green"" font-family=""VERDANA"" font-size=""20"" font-weight=""bold"">Approve</text></svg>")

:small_orange_diamond:Reject

Concatenate ("data:image/svg+xml;utf8,<svg xmlns=""http://www.w3.org/2000/svg"" width=""140"" height=""60"" viewBox=""0 0 140 60""><rect x=""10"" y=""10"" width=""120"" height=""40"" rx=""15"" fill=""LightPink"" stroke=""Red"" stroke-width=""3""/><text x=""50%"" y=""52%"" dominant-baseline=""middle"" text-anchor=""middle"" fill=""red"" font-family=""VERDANA"" font-size=""20"" font-weight=""bold"">Reject</text></svg>")

:small_orange_diamond:Pending

Concatenate ("data:image/svg+xml;utf8,<svg xmlns=""http://www.w3.org/2000/svg"" width=""140"" height=""60"" viewBox=""0 0 140 60""><rect x=""10"" y=""10"" width=""120"" height=""40"" rx=""15"" fill=""Yellow"" stroke=""Black"" stroke-width=""3""/><text x=""50%"" y=""52%"" dominant-baseline=""middle"" text-anchor=""middle"" fill=""black"" font-family=""VERDANA"" font-size=""20"" font-weight=""bold"">Pending</text></svg>")

:small_orange_diamond:Status_SVG

IF([status]="APPROVE",TEXT([APPROVE]),IF([status]="REJECT",TEXT([REJECT]),TEXT([PENDING])))

Important Notes:

  • ​Ensure the status text in the formula matches your data values exactly.
  • ​If using CONCATENATE in your SVG code, use double double quotes (“”) to prevent syntax errors.
  • ​Keep your formulas compact and avoid unnecessary spaces to ensure compatibility with AppSheet.

4. Final Step (UX)

  1. ​Go to the UX menu in the AppSheet editor.
  2. ​Select your Table View.
  3. ​In the Column Order settings, add or select the status_SVG column to display it in your view.

RESULT

good luck

20260530_205400

Button maker link : Does AppSheet need a Button Maker?

ICON EDITOR link Can appsheet create icons like Icon Composer?

3 Likes