Как правильно переместить вид?

Может ли кто-нибудь объяснить нубу, как правильно анимировать вид, чтобы его область касания и изображение действительно двигались вместе ?!

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

Это пример метода, с которым я работаю, пробуя множество разных комбинаций, но безуспешно. Представление находится в родительском RelativeLayout. Это сенсорное меню значков, и оно анимируется с помощью xml-ресурса по щелчку, чтобы соскользнуть с экрана, оставляя лишь небольшую вкладку, показывающую, где он должен оставаться до повторного нажатия.

<code>public void RetractTools (View v){      
    final ImageView finalImage1 = (ImageView) findViewById(R.id.paintsView);
    Animation slideout = AnimationUtils.loadAnimation(this, R.anim.slideout_tools);
    slideout.setFillAfter(true);
    slideout.setAnimationListener(new AnimationListener() {
        @Override
        public void onAnimationEnd(Animation animation) {
            finalImage1.setEnabled(true);
            optionMenu.showing = false;
            optionMenu.inMotion = false;
            finalImage1.layout(1258, 668, 1697, 752);
            finalImage1.setRight(1280);
            finalImage1.invalidate();
        }

        @Override
        public void onAnimationRepeat(Animation arg0) {
        }

        @Override
        public void onAnimationStart(Animation arg0) {
            finalImage1.setEnabled(false);
        }
    });

    optionMenu.inMotion = true;
    v.startAnimation(slideout);
 }// End RetractMenu
</code>

Независимо от того, что я пытаюсь, я сталкиваюсь с проблемами. setFillAfter ничего не делает при установке в xml-файл. Установленный программно, он оставляет изображение в нужном месте, но сенсорные элементы управления остаются там, где было меню. Я пробовал setLeft и setRight, которые, по-видимому, только перемещают изображение, а не позицию просмотра и все виды различных параметров макета, а также заливку, а не заливку и аннулирование, а также нет, но не могут ее решить. Я явно не понимаю основную механику, необходимую для позиционирования и визуализации! : D

Благодарю.

EDIT : Solution

Для тех, у кого есть похожие проблемы, я нашел способ работать с относительными макетами. Вы создаете объект LayoutParams с указанным размером, а затем вы можете назначить ему позиции. например.

<code>    final RelativeLayout.LayoutParams position = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);           
    position.leftMargin = 440;
</code>

Затем назначьте это на ваш взгляд

<code>    myView.setLayoutParams(position);
</code>

Таким образом, в итоге вы используете объект LayoutParams в качестве интерфейса к позиции вашего представления, а не обращаетесь к координатам представления непосредственно, как я предполагал.

Ответы на вопрос(1)

Ваш ответ на вопрос