2014-09-22 4 views
1

나는 http://android-developers.blogspot.ca/2013/09/using-hardware-scaler-for-performance.htmlsetFixedSize를 RelativeLayout 내부의 표면에 사용할 수 있습니까?

나는 현재 내가 내 표면을 추가 RelativeLayout의가있다 실행 해요 문제에 따라 매우 큰 화면 크기와 태블릿에서 게임 속도를 setFixedSize를 사용하는 것을 시도하고있다.

테스트 케이스로, gl2jni NDK 샘플 앱을 가져 와서 getHolder(). setFixedSize (128,128)를 init 메소드의 GJ2JNIView.java에 추가했습니다. 그건 제대로 전체 화면으로 확장되었고 예상대로 정확하게 작동 추한 128x128 버퍼를 만들었습니다.

그런 다음 JL2JNIActivity에서 onCreate 메소드를 다음과 같이 수정했습니다. 내가 false로 useRelativeLayout 설정하고 된 setContentView 직접 예상대로 작동 setFixed 크기라고 내 GL2JNIView를 사용

@Override protected void onCreate(Bundle icicle) { 
    super.onCreate(icicle); 
    mView = new GL2JNIView(getApplication()); 

    boolean useRelativeLayout = false; 
    if (useRelativeLayout) { 
     mLayout = new RelativeLayout(this); 
     RelativeLayout.LayoutParams param = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT); 
     mLayout.setLayoutParams(param); 
     mLayout.addView(mView); 

     setContentView(mLayout); 
    } else { 
     setContentView(mView); 
    } 
} 

.

useRelativeLayout을 true로 설정하면 mView가 왼쪽 상단에 작은 128x128 버퍼로 표시됩니다.

답변

1

그래서 조사한 후에 mView에서 layoutParams를 설정하지 않았습니다. 다음에 내 MVIEW에 배치 PARAMS을 설정하여

, 그것은 제대로 MVIEW를 조정

RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 
lp.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM); 
lp.addRule(RelativeLayout.ALIGN_PARENT_LEFT); 
lp.addRule(RelativeLayout.ALIGN_PARENT_RIGHT); 
lp.addRule(RelativeLayout.ALIGN_PARENT_TOP); 

mView.setLayoutParams(lp); 
관련 문제