2011-02-06 3 views
1

내 앱의 경우 매니페스트 파일의 테마 기능을 사용하여 내 활동의 제목 표시 줄과 알림 바를 숨 깁니다. 활동의 맨 아래에 48dpi의 높은 광고 배너가 있어야하고 나머지는 공간 클래스의 GameView로 채워 져야합니다.이 클래스는 Lunar Lander 샘플에서 볼 수있는 방식으로 SurfaceView를 확장합니다.레이아웃 하단에 배너 배치 문제

내 현재 레이아웃 나를 위해이 작업을 수행합니다 그러나

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" android:layout_height="fill_parent" 
android:orientation="vertical"> 

    <GameView android:id="@+id/game_view" 
     android:layout_width="wrap_content" android:layout_height="wrap_content" 
      android:layout_weight="1"> 

<com.admob.android.ads.AdView android:id="@+id/ad" 
    android:layout_width="fill_parent" android:layout_height="48dip" /> 

</LinearLayout> 

, 나는 홈 키를 사용하여 내 응용 프로그램에서 떨어져 전환 (알림 표시 줄이 반환되는 경우) 한 후 다시 전환에 문제가 내 활동에. 다시 전환하면 화면이 잠깐 동안 검은 색으로 변하고 알림 표시 줄 아래에 그려진 표면보기가 표시되고 알림 표시 줄이 움직여 사라집니다. 그런 다음 표면보기가 화면 상단으로 이동합니다. 문제는 검정색 가로 직사각형이 이제 내 알림 배너 상단을 마스킹하는 것인데,이 막대는 알림 막대와 동일한 높이로 보입니다. 아스키 아트 :

------------- 
|   | 
|   | <- surface view the same size as expected 
|   | 
|   | 
############# <- black rectangle 
|   | <- ad banner with the top part masked by the rectangle 
------------- 

견해가 알림 표시 줄 앞에 배치하는 경우가 사라질과 바의 의견을 다시 배치되어 사라하지만 뭔가 광고 막대를 배치 잘못되면 그것입니다.

어떻게 해결할 수 있습니까?

도움이된다면 Android 2.1에 있습니다. 대체 RelativeLayout 방식을 시도했지만 같은 문제가있었습니다. 또 다른 대안은 아마 그것을 고칠 수도 있지만 아무것도 생각할 수 없다.

편집 : 관련 매니페스트 코드 내 활동을 설정 : 당신은 자바 코드를 통해 알림 표시 줄을 제거하는 대신 매니페스트에 android:theme="@android:style/Theme.NoTitleBar.Fullscreen"를 사용하는 경우이 문제가 사라질 수

<application android:label="@string/app_name" android:icon="@drawable/app_icon"> 
    <activity android:name="MainActivity" android:label="@string/app_name" 
     android:screenOrientation="portrait" android:configChanges="keyboardHidden|orientation" 
     android:theme="@android:style/Theme.NoTitleBar.Fullscreen"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
.... 
+0

어떤 메소드가'NO_TITLE' 기능과'FULLSCREEN' 플래그를 설정하고 어떤 순서로 표시하는지 보여주는'Activity'에서 약간의 코드를 게시하십시오. – Blrfl

+0

감사합니다. 앱을 전체 화면으로 설정하는 내 매니페스트 코드를 추가했습니다. 메서드 호출을 사용하여이 작업을 수행하지 않습니다. – rbcc

답변

0

. Leavesways,이 테마를 사용하는 this sample project으로 테스트 할 때 설명하는 애니메이션 효과가 표시되지 않습니다.

+0

고마워,하지만 이미이 방법으로 전체 화면으로 전환하고있다. 이 작업을 수행하는 메소드 호출이 없습니다. 이 문제는 구체적으로 내 표면보기 아래에 고정 된 크기의 배너가있는 것과 관련이 있다고 생각합니다 (귀하의 프로젝트는 레이아웃에서 하나의 큰 표면보기 만 사용하는 것 같습니다). 내가 시도 할 수있는 어떤 생각을 할 수 있니? 나는 지금 옵션이 없어. 내 표면보기를 예를 들어로 바꾼다면 눈치 챘을 것입니다. 이미지보기 나는 같은 문제가 발생하지 않습니다. 표면적 인 관점에서 어떤 크기가 되길 원하는지와 관련이있을 것이라고 생각합니다. – rbcc

+0

@rebeccamaher : 'SurfaceView'는 이상한 새입니다. 어떤 장치에서이 동작이 나타 납니까? 당신은 또한'RelativeLayout'으로 전환 할 수도 있습니다. 그래서 배너의 위치는'SurfaceView'의 크기가 커지기보다는 명시적인 레이아웃 규칙에 의해 결정됩니다. – CommonsWare

+0

@rebeccamaher : 마일스톤에서 테스트 중이지만 에뮬레이터에서도 발생합니다. 상대 레이아웃 접근 방식을 시도했습니다. 나는 어떤 관점이 무엇과 관련이 있는가에 대한 다른 순열을 시도 할 수 있다고 생각한다. – rbcc

관련 문제