this should work. I wrote this at work so had no means to test it but it should work no problem.
When designing your icon layout in composer make not of the X,Y of the icons as you place them in thier starting position.
Original X,Y of Button1 which resides on Layer:Icon1 - 50,0
Original X,Y of Button2 which resides on Layer:Icon2 - 100,0
Original X,Y of Button3 which resides on Layer:Icon3 - 150,0
Button Layout:
Button1--Button2--Button3
Each button has 50 pixels between them.
In order to move Button1 into focus all the icons need to shift 50 pixels to the right.
When moving buttons/layers you always work out the difference between the desired position and the original position.
So Button1 was 50 originally and Button2 is 100 originally.
We want to move to button2's position. Hence we subtract button2 position from button1 position
Button2(100,0)-Button1(50,0) = 50,0
So there is a difference of 50 pixels on the X axis between the two positions. You will need to move Button1 50 pixels to the right in order to be focused in the center. Because Button1 is moving you will also need to move Button2,3.
Code:
<!-- Button1 in focus -->
<animateTransform xlink:href="#Icon1" id="_anim_bgd152" attributeName="transform" type="translate" to="50,0" dur="0.5s" fill="freeze" begin="Button1.focusin" />
<animateTransform xlink:href="#Icon2" id="_anim_bgd153" attributeName="transform" type="translate" to="50,0" dur="0.5s" fill="freeze" begin="Button1.focusin" />
<animateTransform xlink:href="#Icon3" id="_anim_bgd154" attributeName="transform" type="translate" to="50,0" dur="0.5s" fill="freeze" begin="Button1.focusin" />
Now because Button1,2,3 started where we want them when Button2 is focused we use 0,0 as we don't want change from the original X,Y. Essentially this will just move the icons back to their original location.
Code:
<!-- Button2 in focus. This is also the default position of all icons. That is why the X,Y is 0 because no change is needed from their original X,Y position. -->
<animateTransform xlink:href="#Icon1" id="_anim_bgd155" attributeName="transform" type="translate" to="0,0" dur="0.5s" fill="freeze" begin="Button2.focusin" />
<animateTransform xlink:href="#Icon2" id="_anim_bgd156" attributeName="transform" type="translate" to="0,0" dur="0.5s" fill="freeze" begin="Button2.focusin" />
<animateTransform xlink:href="#Icon3" id="_anim_bgd157" attributeName="transform" type="translate" to="0,0" dur="0.5s" fill="freeze" begin="Button2.focusin" />
As we did for Button1 we need to work out the difference in Button X,Y
Button2(100,0)-Button3(150,0)= -50,0
So all the icons will need to move -50 pixels to the left in order for button3 to be in centered focus.
Code:
<!-- Button3 in Focus -->
<animateTransform xlink:href="#Icon1" id="_anim_bgd158" attributeName="transform" type="translate" to="-50,0" dur="0.5s" fill="freeze" begin="Button3.focusin" />
<animateTransform xlink:href="#Icon2" id="_anim_bgd159" attributeName="transform" type="translate" to="-50,0" dur="0.5s" fill="freeze" begin="Button3.focusin" />
<animateTransform xlink:href="#Icon3" id="_anim_bgd160" attributeName="transform" type="translate" to="-50,0" dur="0.5s" fill="freeze" begin="Button3.focusin" />
Create 3 Layers in Composer. Name them Icon1,2,3 respectively.
Place 1 button on each layer. Name the buttons, Button1,2,3 respectively.
In the X,Y for each button enter (50,0), (100,0), (150,0) respectively.
Export your svg.
Then open your svg in Notepad++ or Notepad and right at the bottom of the file you will see this tag: </svg>
Return a couple spaces between </svg> and the code above.
This space between the code and </svg> is where you want to place the animatetransform code above. Make sure you place each section of 3.
When saving your file from notepad make sure you select all files and not .txt
Save your file.
Open Theme builder and import your svg. Assign your navigation.
Export and test the animations in a simulator.
I hope this works and you find it useful.