Как разработать макеты, которые будут вращать только внешний макет, а не внутренний макет? - PullRequest
0 голосов
/ 08 мая 2019

У меня есть два макета окружности (относительный) внутренний и внешний в макете кадра (родительский), мне нужно повернуть внешний круг жестом двумя пальцами, но не макет внутреннего круга, как мне этого добиться. Какна рисунке ниже, внешний круг будет вращаться только с их дочерним кругом, но не с внутренним

Ответы [ 2 ]

0 голосов
/ 08 мая 2019

Вы можете сделать это с помощью RelativeLayout следующим образом

<RelativeLayout>

   <LinearLayout>  //Your Outer Layout
   </LinearLayout>

   <LinearLayout>  //Your Inner Layout
   </LinearLayout>
</RelativeLayout>

и выполнить операцию на вашем внешнем макете.Вы можете использовать любой дочерний вид в RelativeLayout в соответствии с вашими потребностями.Я просто использую LinearLayout, например.

0 голосов
/ 08 мая 2019

Я считаю, что поворот внешнего макета на требуемую величину, а затем внутренний макет до поворота на 360 градусов даст вам то, что вы хотите.

градусов плавания = 30.0f;

outerLayout.setRotation (в градусах); innerLayout.setRotation (360 - градусов);

Обратите внимание, что если вам нужно снова повернуть ракурсы, вы должны использовать значение вращения в полных градусах. Значение для 3 поворотов на 90 градусов, для 4120 и т. Д.

...