Request details

Snap items within group to pixel when resizing (or multiple selection)

If I select multiple objects at once, or a group containing multiple objects, resizing makes the objects no longer aligned with the pixel grid. In other words, the X / Y / width / height values change from integers to fractions, and the edges of the shapes become fuzzy (especially on a 1x screen).

Resizing a single object at a time, everything stays pixel aligned. This only happens when resizing multiple things at once.

25 votes
Sign in
(thinking…)
Sign in with: Facebook Google
Signed in as (Sign out)

We’ll send you updates on this idea

AdminPeter Flynn (Software Engineer, Adobe) shared this idea  ·   ·  Flag idea as inappropriate…  ·  Admin →
AdminPeter Flynn (Software Engineer, Adobe) responded  · 

There’s a tradeoff between pixel snapping vs. preserving the layout relationship among the multiple items being resized, especially when resizing items that are fairly small. So we don’t pixel-snap groups and multiple selections by default when resizing.

As a workaround, you can apply Object > Align to Pixel Grid after you’re done resizing.

16 comments

Sign in
(thinking…)
Sign in with: Facebook Google
Signed in as (Sign out)
Submitting...
  • Danny commented  ·   ·  Flag as inappropriate

    Another workaround is to select your artboard and turn on square grid, put size 1 and set the opacity to 0%. This way you don't have to right click and snap to pixel after every resize.

  • Danny commented  ·   ·  Flag as inappropriate

    When resizing components or groups, XD resizes in Pixel decimals. It could be nice with a way to force it to resize in full pixels, eg. when holding cmd/ctrl while resizing a component/group.

  • Alex Devero commented  ·   ·  Flag as inappropriate

    Please add some combination like CTRL + drag or SHIFT + drag or whatever for resizing and keeping objects aligned to pixel grid. Or, add some options to make align to pixel grid active while resizing.

  • Armando Scuro commented  ·   ·  Flag as inappropriate

    Can it at least work with properly when we are resizing responsively a group that constraints have been applied to, as it is very bad when i resize a simple button only to have it include fractions

  • Anonymous commented  ·   ·  Flag as inappropriate

    xd既然是为了UI设计的软件,为什么不针对性的把小数点去掉呢?或者添加一个开启或关闭小数点的选项。可以吗?

  • Armando Scuro commented  ·   ·  Flag as inappropriate

    Hi Randy,

    Yeah , the workaround seems to do the job
    If we can have a keyboard shortcut for that, that will make it a bit less painful

  • Armando Scuro commented  ·   ·  Flag as inappropriate

    before you hit me with the 'NOT-A-BUG-AS-DESIGNED', hear me out.

    Currently when resizing groups responsively, especially from left side, both size and positions starts showing decimal values and that destroys the layout's spacing. Which means i have to go back and set the values to remove decimals

    I know its 'NOT-A-BUG-AS-DESIGNED' but it shouldn't as it renders the feature not as useful. I still resort to resizing each element in groups individually most of the time just to avoid decimals.

    so can we please have an option to disable decimals on groups, and just keep it to paths only

  • Anonymous commented  ·   ·  Flag as inappropriate

    能不能加一个开启或者关闭小数点的选项?几个物体在一起放大或缩小的时候容易出现小数点的问题,其实很多时候我们UI并不需要小数点的,出现这种情况之后,手动调整是非常影响效率的。这种情况很恼人。
    sketch是没有这种情况的。所以目前还是感觉sketch这点比XD好很多。至少不用单独去把小数点调成整数了。

  • Szymon commented  ·   ·  Flag as inappropriate

    Why don't you implement CTRL+drag to stay aligned to pixel grid if "preserving the layout relationship" is more important and thus must be default? CTRL+drag is not currently used.
    I would however be more enthusiastic if CTRL+drag was used to switch to "fraction mode" and stay aligned to pixel grid be a default. This second approch would be more consistent and is known from other software.

  • Chaman Sharma commented  ·   ·  Flag as inappropriate

    Hello Adobe XD Team,

    I am just bothered by the fact that we need to make pixel perfect designs for web and mobile apps and also since Adobe XD is called a vector based software design tool. But why then it uses decimals pixels instead of a single unit when expanding a group which includes vectors? For example if a group contains a rectangle with 50*50px and one more rectangle and text layer with 15*15px then when expanding the group using transformation it comes to decimals breaking the pixel perfect vector based rule: like the bigger rectangle comes to 55.67px and smaller ones to 20.67px and so on.. Shapes or other Layers in Adobe XD groups when expanded using transformation, it uses decimal point pixels instead of being it called a Vector Based!

    Looking forward to fix this issue/bug or add this as a feature request asap!

  • Chaman Sharma commented  ·   ·  Flag as inappropriate

    Hello Adobe XD Team,

    I am just bothered by the fact that we need to make pixel perfect designs for web and mobile apps and also since Adobe XD is called a vector based software design tool. But why then it uses decimals pixels instead of a single unit when expanding a group which includes vectors? For example if a group contains a rectangle with 50*50px and one more rectangle and text layer with 15*15px then when expanding the group using transformation it comes to decimals breaking the pixel perfect vector based rule: like the bigger rectangle comes to 55.67px and smaller ones to 20.67px and so on.. Shapes or other Layers in Adobe XD groups when expanded using transformation, it uses decimal point pixels instead of being it called a Vector Based!

    Looking forward to fix this issue/bug or add this as a feature request asap!

  • AdminRandy Edmunds (Software Engineer, Adobe) commented  ·   ·  Flag as inappropriate

    Unfortunately, resizing can be used for skewing, rotating, complex objects, etc. so it would be difficult to enforce integer-only sizes.

    After resizing, have you tried right-clicking and use "Align to Pixel Grid" ? I think that achieves what you want.

    Hope this helps,
    Randy

  • Alexandru Hasmatuchi commented  ·   ·  Flag as inappropriate

    This is really annoying.
    Every time I resize a bunch of objects I have to write in the size, because just dragging for resize doesn't work properly.

    Ex: I have two 5x5 squares and I want to resize them both to 6x5 px by dragging from one side. Because the size isn't restricted to 1px increments, as it is when i resize a single object, the size will always be something like 6.39px or 6.12px and that is annoying.

    I think resizing multiple objects should be the same as resizing 1 object.

  • Alexandru Hasmatuchi commented  ·   ·  Flag as inappropriate

    This is really annoying.
    Every time I resize a bunch of objects I have to write in the size, because just dragging for resize doesn't work properly.

    Ex: I have two 5x5 squares and I want to resize them both to 6x5 px by dragging from one side. Because the size isn't restricted to 1px increments, as it is when i resize a single object, the size will always be something like 6.39px or 6.12px and that is annoying.

    I think resizing multiple objects should be the same as resizing 1 object.

Feedback and Knowledge Base