Android游戏客户端,未在片段上显示成就解锁弹出窗口

g9icjywg  于 2023-03-16  发布在  Android
关注(0)|答案(3)|浏览(172)

我注册的弹出视图如下:

GamesClient gamesClient = Games.getGamesClient(activity, googleSignInAccount);
gamesClient.setViewForPopups(getWindow().getDecorView().findViewById(android.R.id.content));

在主Activity中,但当成就从全屏片段对话框中解锁时,没有显示弹出窗口,但在Activity中,它正确显示。
请帮助显示弹出的片段以及。
我试过从片段注册弹出视图,但是没有任何React。

c86crjj0

c86crjj01#

什么都不要做,删除你的setViewForPopups调用。这是没有必要的。

lmyy7pcs

lmyy7pcs2#

试试这个

<FrameLayout
    android:id="@+id/container_pop_up"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_alignParentTop="true"
    android:layout_marginTop="16dp" />

GamesClient gamesClient = Games.getGamesClient(MainActivity.this, 
 GoogleSignIn.getLastSignedInAccount(this));
        gamesClient.setViewForPopups(findViewById(R.id.container_pop_up));

        Games.getAchievementsClient(this, GoogleSignIn.getLastSignedInAccount(this))
                .unlock(getString(R.string.achievement_example));
kcugc4gi

kcugc4gi3#

不需要xml引用。使用此:

GamesClient gamesClient = Games.getGamesClient(this, Objects.requireNonNull(GoogleSignIn.getLastSignedInAccount(this)));
gamesClient.setViewForPopups(findViewById(android.R.id.content));
gamesClient.setGravityForPopups(Gravity.TOP | Gravity.CENTER_HORIZONTAL);

相关问题