Создать собственный компас на карте или переместить родную кнопку - PullRequest
0 голосов
/ 25 сентября 2018

Я пытался изменить положение кнопки компаса с верхнего левого угла до нижнего левого, но не могу.

Как я видел, есть много предложений, чтобы создать пользовательскую и отключить собственную кнопку, нонет одного полного и нормального примера.

Как добавить пользовательскую кнопку компаса на карту Android?

1 Ответ

0 голосов
/ 25 сентября 2018

Вы можете изменить положение встроенного компаса.Попробуйте этот код:

ViewGroup parent = (ViewGroup) mapView.findViewById(Integer.parseInt("1")).getParent();
        View compassButton = parent.getChildAt(4);
        /* now set position compass */
        RelativeLayout.LayoutParams rlp = (RelativeLayout.LayoutParams) compassButton.getLayoutParams();
        rlp.addRule(RelativeLayout.ALIGN_PARENT_END, 0);
        rlp.addRule(RelativeLayout.ALIGN_PARENT_TOP);
        rlp.addRule(RelativeLayout.ALIGN_PARENT_START);
        rlp.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, 0);
        Resources r = context.getResources();
        float px = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 50, r.getDisplayMetrics());
        rlp.setMargins(0, (int)px,0, 0); // 160 la truc y , 30 la  truc x
        px = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 30, r.getDisplayMetrics());
        rlp.setMarginEnd((int)px);

        compassButton.setLayoutParams(rlp);

Просто поиграйте с RelativeLayout параметрами и установите его в нужном месте

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...