2013-08-01 1 views
1

나는 아주 간단한 작업을하려고합니다 : X 또는 Y 좌표를 증가시켜 이미지보기를 이동하십시오. 처음에는 에뮬레이터에서 작동하는 이미지보기에서 getX, getY, setX 및 setY 함수를 사용했습니다. 그러나, 전화와 함께 사용할 때 이러한 기능에 NoSuchMethodError 오류가 발생했습니다. java.lang.NoSuchMethodError : android.widget.ImageView.getX좌표를 설정하여 Android ImageView 이동하기

을이 야기되었다 내 연구에 따르면

여기에 (내가 위에 나열된 각각의 기능이 얻을) 나는 무엇입니까 정확한 오류입니다 사실 setX와 setY는 API11에서만 구현되며,이 경우 API10을 사용합니다. setMatrix, changePos() 및 다른 몇 가지 함수를 사용하여 ImageView의 위치를 ​​변경하는 등 다양한 방법으로 시도했습니다.

API10을 사용하는 경우 제 질문은 ImageViews를 이동하는 데 사용할 수있는 것은 무엇입니까?

답변

1

레이아웃 매개 변수로 재생해볼 수 있습니다. 가정 당신이 FrameLayout, 또는 마진

private ImageView myView;// populated in onCcreate 

private void moveImage(int x, int y) { 
    ViewGroup.MarginLayoutParams lp = (ViewGroup.MarginLayoutParams)myView.getLayoutParams(); 
    lp.leftMargin = x; 
    lp.rightMargin = y; 
    requestLayout(); 
} 
1

을 지원하는 다른 레이아웃을 사용하는 것은 여기에 대한 예입니다 레이아웃은 RelativeLayout의이

LinearLayout.LayoutParams lp = (android.widget.LinearLayout.LayoutParams) logoImage 
       .getLayoutParams(); 
    lp.setMargins(0, 28, 0, 0); 
     logoImage.setLayoutParams(lp); 

경우, 다음 유형의 LinearLayout.LayoutParams을 변경합니다.