Wie man ein ImageButton-Steuerelement sichtbar/invisibl

Ich versuche zu schaffen, ein imagebutton-Steuerelement zu schließen, ist eine Werbung von admob.
Ich habe den button in der xml mit der visibility-Eigenschaft auf "unsichtbar" gesetzt und dann auf java setze ich es auf "sichtbar", wenn die Anzeige eingegangen ist, aber der button nie sichtbar werden.
Wenn ich es auf "sichtbar" hardcoded auf die XML-erscheint er auf dem Bildschirm in der Regel.

Admob-layout:

<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>

Hinzufügen Anzeige:

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);
    }
    });
}

Schaltfläche "erstellen", um die Anzeige schließen:

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();
    }
sind u versuchen, legen Sie es oben auf der Anzeige? (überlappung?)
Können Sie formulieren Ihre Frage - dieser Satz ist zweideutig, " ...dann auf java setze ich es auf "sichtbar", wenn die Anzeige eingegangen ist, aber der button nie sichtbar werden. Wenn ich es auf "sichtbar" auf dem Bildschirm erscheint in der Regel.' Heißt das, dass es funktioniert oder nicht angezeigt wird, wenn du es auf sichtbar - Sie haben gesagt, beide!
bitte, zeigen ALLE Parameter der xml-code der Taste.
Ich bin versucht zu überlappen, aber mit einem negativen linken Rand scheint es auf der linken Seite, außerhalb der banner.
Es erscheint, wenn ich die Sichtbarkeit von "sichtbar" hardcoded auf die XML, die ich ausprobiert habe, um zu überprüfen, ob der button unter dem banner

InformationsquelleAutor Adriano Bacha | 2011-08-17

Schreibe einen Kommentar