Моя проблема в том, что если я перетащу его туда, куда я хочу, он не будет выглядеть одинаково для всех плотностей
Предполагая, что нужная позиция немного внизиз центра ..
Вы должны создать am XML в папке drawables .. скажем .. например.shape.xml
ниже приведен пример кода для него ..
res> drawables> shape.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@android:color/transparent"/>
<corners android:radius="12px"/>
<stroke android:width="2dip" android:color="#000000"/>
</shape>
Теперь в вашей деятельностиXML добавляет атрибут к вашему ImageView
и задает фон и размер фигуры следующим образом:
<ImageView
android:id="@+id/rect_image"
android:layout_height="150dp" // change as per your requirements
android:layout_width="250dp" // change as per your requirements
android:background="@drawable/shape" // important one
android:paddingTop="75dp" // position the shape as per your requirements here
android:src="@drawable/shape">
</ImageView>
Теперь вы получите фигуру, как указано в файле shape.xml
, для всех ваших плотностей экрана..
PS: измените атрибуты файла shape.xml
в соответствии с вашими требованиями.