## Layout Visaulization Drag and Drop Test

### Note: This feature is disabled in Android Studio 3.6 & 3.6 beta. Do not test it in 3.6 & 3.6 beta ###

1. Create a new empty project with empty activity.
2. Copy (./res/layout-visualization/visualization_layout.xml) and (./res/layout-visualization/another_layout) to app/res/layout folder in the Studio project.
3. Open app/res/visualization_layout.xml file
4. Open Visualization(multi preview) Window by clicking Visualization tab on the right sidebar of Studio. Then observe the Visualization Window is opened. For example: ![screenshot open_visulization_window.png]
5. Try to scroll down the window and observe there are more previews.

6. Try to resize Visualization Window. See ![screenshot resize_visualization.png]

7. Durning resizing, observe the layout of previews are changed. For example:
![screenshot resize1.png]
![screenshot resize2.png]
![screenshot resize3.png]
![screenshot resize4.png]
Note that the screenshots here are just examples. The content / order may be different on different computers or displays. Just check the order of previews are changed when Visualization window become larger.

8. Click "+" buttom on the right-bottom side widget. Observe the preview sizes become larger. For example: ![screenshot click_zoom_in.png]

9. Click "-" buttom on the right-bottom side widget. Observe the preview sizes become smaller.

10. Click "1:1" button on the right-bottom side widget. Observe the preview sizes become very big. For example: ![screenshot click_1_to_1.png]

11. Click "zoom-to-fit" (shown as a rectangle with "「" and "」") button on the right-bottom side widget. Observe the preview sizes become small as default size. For example: ![screenshot click_zoom_to_fit.png]

12. Scale Visualization window smaller, then open app/res/another_layout.xml file. Observe the previews in Visualization window are changed. For example: ![screenshot change_layout.png]
Note that the sizes/orders of previews may be different than the example, just check if previews are changed after opening app/res/another_layout.xml

[screenshot open_visulization_window.png]: res/layout-visualization/screenshots/open_visualization_window.png
[screenshot resize_visualization.png]: res/layout-visualization/screenshots/resize_visualization.png
[screenshot resize1.png]: res/layout-visualization/screenshots/resize1.png
[screenshot resize2.png]: res/layout-visualization/screenshots/resize2.png
[screenshot resize3.png]: res/layout-visualization/screenshots/resize3.png
[screenshot resize4.png]: res/layout-visualization/screenshots/resize4.png
[screenshot click_zoom_in.png]: res/layout-visualization/screenshots/click_zoom_in.png
[screenshot click_1_to_1.png]: res/layout-visualization/screenshots/click_1_to_1.png
[screenshot click_zoom_to_fit.png]: res/layout-visualization/screenshots/click_zoom_to_fit.png
[screenshot change_layout.png]: res/layout-visualization/screenshots/change_layout.png
