2011-08-17 3 views
2

admob에서 광고를 닫으려면 imagebutton을 만들려고합니다. visibility 속성이 "invisible"로 설정된 xml에 버튼을 만든 다음 자바에서 광고를 수신했지만 버튼이 보이지 않게 "visible"로 설정했습니다. "visible"을 XML에 하드 코딩하면 화면에 정상적으로 나타납니다.ImageButton을 visible/invisibl로 만드는 방법

몹 레이아웃 :

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:id="@+id/layout_main"> 
    <ImageButton   
     android:id="@+id/close_ad" 
     android:visibility="invisible" 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_gravity="right" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="-36dip" 
     android:layout_marginTop="12dip" 
     android:background="@drawable/btn_close_ad" /> 
</RelativeLayout> 

광고를 추가

private void addAd() { 
    rl = (RelativeLayout) activity.getLayoutInflater().inflate(R.layout.admob, null); 
    rl.setGravity(position); 
    activity.addContentView(rl, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); 
    AdView admobView = new AdView(activity, AdSize.BANNER, Preferences.getAdmobKey()); 
    admobView.loadAd(new AdRequest()); 
    [ ... ] 
    admobView.setAdListener(new AdListener() { 
    @Override 
    public void onReceiveAd(Ad ad) { 
     Log.v("JeraAdmob", "onReceiveAd"); 
     new Handler().postDelayed(new Runnable() { 
      @Override 
      public void run() { 
       createCloseButton(); 
      } 
     }, AD_SHOW_CLOSE); 
    } 
    }); 
} 

광고 종료 버튼 만들기 :

private void createCloseButton() { 
     ImageButton button = (ImageButton) rl.findViewById(R.id.close_ad); 
     button.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       rl.removeAllViews(); 
       handler.postDelayed(new Runnable() { 
        @Override 
        public void run() { 
         addAd(); 
         rl.bringToFront(); 
        } 
       }, AD_RELOAD); 
      } 
     }); 
     button.setVisibility(View.VISIBLE); 
     button.bringToFront(); 
    } 
+0

유는 광고의 상단에 넣어하려고? (중복?) – Ronnie

+0

질문을 다시 말할 수 있습니까?이 문장은 모호합니다. '... then java 광고를 수신 할 때'표시 '로 설정했지만 버튼이 보이지 않게됩니다. "visible"로 설정하면 정상적으로 화면에 나타납니다. ' 표시 여부를 설정하면 나타나거나 표시되지 않습니다. – Martyn

+0

버튼의 xml 코드에 대한 모든 매개 변수를 표시하십시오. – Gangnus

답변

1

이미지 버튼을 admob 레이아웃 다음에 추가해야합니다. 이 같은
:

<RelativeLayout ...> 
    <Admob..../> 
    <ImageButton..../> 
</RelativeLayout> 
+0

이 도움이 되셨습니까? .. – Ronnie

5

button.setVisibility (View.VISIBLE를); - 절대적으로 맞습니다. 앱이 실제로이 줄에 있는지 확인 했습니까? 나는 그렇지 않은 것으로 보인다.

+0

예, 디버그 모드에서 시도했지만 해당 코드에 도달했습니다 –

관련 문제