FirebaseUI Auth пользовательский макет с прозрачным фоном - PullRequest
0 голосов
/ 24 апреля 2020

Я пытаюсь реализовать FirebaseUI Auth с пользовательским макетом. По сути, я хочу показать Auth UI в представлении Dialog i sh, показывая все параметры входа в Card, оставшийся фон прозрачным.

Вот что я пробовал до сих пор:

// in styles
<style name="FirebaseAuthTheme" parent="FirebaseUI">
        <item name="colorPrimaryDark">@android:color/transparent</item>

        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:backgroundDimEnabled">false</item>

        <item name="windowNoTitle">true</item>
        <item name="windowActionBar">false</item>
    </style>

// in code
startActivityForResult(AuthUI.getInstance()
                        .createSignInIntentBuilder()
                        .setAuthMethodPickerLayout(customLayout)
                        .setTheme(R.style.FirebaseAuthTheme)
                        .setIsSmartLockEnabled(!BuildConfig.DEBUG, true)
                        .setAvailableProviders(providers)
                        .build(), RC_SIGN_IN);

Пользовательский макет:

// I am aware that it lauches an activity, so make the root to cover entire screen with transparent background
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/transparent">

    <androidx.cardview.widget.CardView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        ... >

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:orientation="vertical">

            <Button
                android:id="@+id/btnGoogleSignIn"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Google" />

            <Button
                android:id="@+id/btnSignInFacebook"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Facebook" />

            <TextView
                android:id="@+id/textViewAuthTosAndPrivacy"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
        </LinearLayout>
    </androidx.cardview.widget.CardView>
</RelativeLayout>

Несмотря ни на что, фон не будет прозрачным. Я подозреваю, что с моим макетом все в порядке, но Firebase каким-то образом устанавливает черный фон по умолчанию (я тоже вижу анимацию исчезновения). Могу ли я отключить этот черный фоновый слой? Как создать такой пользовательский интерфейс?

ОБНОВЛЕНИЕ: Я обнаружил снимок экрана в исходной проблеме FirebaseUI для настраиваемых представлений , показывающей аналогичный Я пытаюсь достичь. Но я не могу добраться туда, к сожалению.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...