У меня есть карта и хочу наложить на нее Button
s. Вот мойкнопки пуговицы на изображении, которое выглядит одинаково на разных дисплеях
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/karte"
android:background="@drawable/my_map"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageButton
android:id="@+id/btnSP1"
android:layout_width="@dimen/pinpoint_size"
android:layout_height="@dimen/pinpoint_size"
android:scaleType="fitXY"
android:background="@drawable/pinpoint"
android:tag="001"
android:layout_marginLeft="50px"
android:layout_marginTop="90px"
android:onClick="spClick"/>
<ImageButton
android:id="@+id/btnSP2"
android:layout_width="@dimen/pinpoint_size"
android:layout_height="@dimen/pinpoint_size"
android:scaleType="fitXY"
android:background="@drawable/pinpoint"
android:tag="002"
android:layout_marginLeft="100px"
android:layout_marginTop="250px"
android:onClick="spClick"/>
</RelativeLayout>
Я поставил layout_margin
в px
или dp
или progremmatically в процентах от display_size:
RelativeLayout.LayoutParams param =(RelativeLayout.LayoutParams)(getActivity().findViewById(id[i])).getLayoutParams();
param.setMargins((int)(xFactor[i]*displySize.x),(int)(yFactor[i]*displySize.y),0,0);
, но во всех этих методов Button
s меняют свою позицию, когда я использую другой размер дисплея ,
Есть ли идея, как исправить кнопки, чтобы их положение не зависело от размера дисплея.
установить его динамически на основе позиции точки маркера –