2011-02-11 4 views
8

ImageView 객체가 LinearLayout 안에 있습니다. ImageView에 애니메이션을 설정하면 x에서 y로 이미지 뷰가 이동합니다. 이제 출발점은 부모 컨테이너의 오른쪽 모서리에 있어야합니다. 내 질문은 어떻게 볼 수있는 컨테이너의 차원을 얻을 수 있습니다. view.getParent(). getWidth() view hierachy에서 메서드의 종류.안드로이드에서 내보기가 추가 된 컨테이너의 너비를 얻는 방법

답변

3

을 아마 당신은이 같은 애니메이션 %를 사용할 수 있기 때문에 필요하지 않습니다 뷰는 상위 뷰에 추가

<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator"> 
<translate android:fromXDelta="100%p" android:toXDelta="0" android:duration="150" /> 

+0

hmmm ...이 옵션을 거의 잊어 버렸습니다. 나는 이것이 나를 도울 것이라고 생각한다. 고맙습니다. – prashant

25

이 시도 :

View parent = (View)view.getParent(); 
int width = parent.getWidth(); 
+4

onResume 메서드 – prashant

+0

에 null 포인터를 지정하여 getWidth를 아직 호출하지 않고 일찍 호출합니다. 그릴 때 ListTreeObserver.OnGlobalLayoutListener를 추가해야합니다. – Karoly

1

전화 후 , 그렇지 않으면 당신은이 exeption 것입니다 java.lang.NullPointerException : 가상 메서드 'int android.view.View.getHeight()'호출 시도

int height = ((View) view.getParent()).getHeight(); 
    int width = ((View) view.getParent()).getWidth(); 

    int mHeight = ((View) view.getParent()).getMeasuredHeight(); 
    int mWidth = ((View) view.getParent()).getMeasuredWidth(); 
관련 문제