Итак, я позволяю пользователю перетаскивать RelativeLayout, содержащийся в ImageView (а также некоторые другие вещи) по экрану.Макет оборачивает ImageView внутри, и есть еще один относительный макет, который помещает материал поверх ImageView.Примерно так:
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="center"
/>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent">
... a couple text views that also fill parent
</RelativeLayout>
</RelativeLayout>
Я устанавливаю src в ImageView динамически.
Пользователь может перетаскивать макет в другой RelativeLayout, который использует весь экран.Когда пользователь перемещает его, я меняю левый и верхний поля. Я вижу странную проблему, когда, когда макет достигает правого или нижнего края экрана, макет (и, следовательно, ImageView, который он переносит) будет ...
- Обрезается с левой стороны, когда правая сторона макета выходит за пределы правой стороны экрана
- Обрезается с верхней стороны, когда нижняя сторона макета отключаетсянижняя часть экрана.
Нет проблем при перетаскивании макета к левому или верхнему краю экрана.
Я пробовализменив scaleType ImageView на все другие значения, прежде чем я понял, что проблема, как представляется, заключается в том, что RelativeLayout в действительности вызывает его (например, когда я изменяю scaleType ImageView на fitXY, изображение уменьшается до крошечного размера, когда макет перетаскивается.край экрана).
Я также пытался переключать все параметры макета, которые я мог найти, включая clipChildren, clipPadding, AdjustViewBounds, margin, padding и т. д., и ничто по-настоящему не работает.Я ломаю голову над этой простой проблемой, которая, по моему мнению, должна работать только с параметрами по умолчанию.Чтобы было ясно, я ожидаю, что когда я перетаскиваю макет за край экрана, часть, которая находится за пределами экрана, просто больше не видна, а то, что отображается на экране, остается как есть.