Button tool - style text box with border, background color, padding (auto resized when text changes)
To speed workflow it would be good to have button tool in the sidebar. In the property inspector you'd have the ability to specify the top,bottom, left and right padding. the width of button would dynamically resize as you type the button's label.
January 2020’s release of XD now supports content aware layout, which enables you to create flexible buttons. Check out more here: https://letsxd.com/content-aware-layout
And also include shadow as formatting. I have just used a component for a button for a white label interface and just realised it doesn't work well if I add a shadow to the original component, as it gets cut out.
Azhar Khan commented
This shouldn't be just "button tool". Any rectangle should accept text and that text must have vertival/horizontakl allignment property and separate top/right/bottom/left padding similar to InDesign.
Can we have some news about ths feature please ?
Adobe, I can't believe this is not a thing yet!
+1 The current behaviour is inconsistent with most Adobe applications.
Vlad-Florin Iepure commented
Inset Spacing like in Indesign (custom indentation for text boxes)
This would solve the issue of doubling objects. At the moment, when you create a button, you need a text box and a shape. Inset spacing would solve this and at the same time would offer more control in overall spacing.
Buttons, the most common thing that interface designers need for every app. But a simple function which most of the design tools do not have.
With Sketch and a third-party plugin I worked around and made a dynamic button, with multiple layers:
Perfect, now I only use 1 button symbol, to create all.
* the primary colors
* text + icon - left
* text + icon - right
Matthew Simmonds commented
I am considering switching to another tool like Figma or Sketch because XD doesn't have dynamic buttons. It should have been in the tool right from the start.
Great idea. Let's add this to XD. Buttons are the most common element in UI today. Let's get it right.
Greg Olson-Hyde commented
I agree with the comments below – buttons are ubiquitous in web or app design and a button with padding, background and auto resizing as text increases should be a no-brainer
Valentin de Bruyn commented
I really wonder why this has not been a part of the app from the start.
Buttons might be one of the most ubiquitous component in UI Design, and yet no design tool (except production tools such as Webflow or Xcode) offers a "button" natively in the toolbox... Quite puzzling right?
Please, add this feature, every time I draw a button using a rectangle + text and have to manually resize it, it just hurts.
your link is not working
Thanks for the plugin, which is a cool workaround. :) However, the plugin doesn't work well for the buttons that are already created in the existing files.
Dynamic buttons are very much needed in XD out of the box. In most of the cases, same button style is used with longer labels and creating different instances becomes difficult to change the style globally.
Additionally, there are different types of buttons such as the ones with descriptive and qualifier icons, with or without background.
Padding and margin can be applied on many different elements (not just text).
We can simplify this and extend the use case. Allow padding/margin to be set/given on anything 'drawn', 'placed' or 'written' in Adobe XD.
Only when added as a symbol it retains the values you have given it.
This can be used for grid layout, buttons, images and many more things as per coding you app or website.
✋🤷♀️🤷♂️Read below comment before reply
update: added this feature download plugin from here
Steps to use:
- First add the button using Ctrl/Cmd + Shift + Alt + B
- change button text to your requirement
-select button text and use Ctrl/Cmd + Shift + Alt + O to resize the button automatically
Wola! feature completed
Use "Widgets for XD" Plugin
Even though it doesn't have that feature i will add that in next release
but may not be responsive but it can be possible with a shortcut in next release
I will notify you once this feature is released
follow me on Twitter so you can get instant updates