Firebase Auth - LogIn Button unsichtbar

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Firebase Auth - LogIn Button unsichtbar

    Hallo!
    Ich habe in meine App via Firebase Authentication einen LogIn-Bereich eingefügt (Facebook, Telefonnummer, Google, Email). Wenn man sich über E-Mail einloggen möchte, sieht man bei der Passworteingabe dort, wo der Button "Anmelden" steht, nur einen leeren Rahmen ohne Schrift (siehe Foto). Kann mir jemand sagen, wie ich diesen Schriftzug sichtbar machen kann?

    Anbei der Inhalt meiner styles.xml und vom Manifest, falls das wichtig sein sollte.

    Styles:
    <resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    </style>

    <style name="MyTheme" parent="AppTheme">
    <item name="android:windowBackground">@android:color/white</item>
    </style>

    </resources>manifest:<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="...">

    <uses-permission android:name="android.permission.INTERNET"/>

    <supports-screens
    android:largeScreens="true"
    android:normalScreens="true"
    android:smallScreens="true"
    android:xlargeScreens="true"/>

    <application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".AboutUs"></activity>
    <activity android:name=".Themen" />
    <activity android:name=".Abfrage" />
    <activity android:name=".MainActivity">
    <intent-filter>
    <action android:name="android.intent.action.MAIN" />

    <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
    </activity>
    </application>

    </manifest>
    Bilder
    • Screenshot_20190826-224717.png

      122,58 kB, 760×1.529, 34 mal angesehen
  • Du meinst sicher die .xml und .java der Activity, in der der LogIn enthalten ist, oder? Sorry, ich bin noch nicht lang in der Materie. Hoffe, es ist so leserlicher, ansonsten bitte bescheid geben, dann ändere ich es noch einmal!

    XML-Quellcode: MainActivity.xml

    1. <?xml version="1.0" encoding="utf-8"?>
    2. <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    3. xmlns:app="http://schemas.android.com/apk/res-auto"
    4. xmlns:tools="http://schemas.android.com/tools"
    5. android:layout_width="match_parent"
    6. android:layout_height="match_parent"
    7. android:background="@drawable/tafel2"
    8. tools:context=".MainActivity">
    9. <Button
    10. android:id="@+id/startbutton"
    11. android:layout_width="200dp"
    12. android:layout_height="70dp"
    13. android:layout_marginStart="8dp"
    14. android:layout_marginLeft="8dp"
    15. android:layout_marginTop="150dp"
    16. android:layout_marginEnd="8dp"
    17. android:layout_marginRight="8dp"
    18. android:background="@drawable/startbutton1"
    19. android:textSize="24sp"
    20. android:textStyle="bold"
    21. app:layout_constraintEnd_toEndOf="parent"
    22. app:layout_constraintHorizontal_bias="0.498"
    23. app:layout_constraintStart_toStartOf="parent"
    24. app:layout_constraintTop_toTopOf="parent" />
    25. <Button
    26. android:id="@+id/btn_sign_out"
    27. android:layout_width="wrap_content"
    28. android:layout_height="wrap_content"
    29. android:layout_marginTop="70dp"
    30. android:enabled="false"
    31. android:text="@string/signout"
    32. app:layout_constraintEnd_toEndOf="parent"
    33. app:layout_constraintStart_toStartOf="parent"
    34. app:layout_constraintTop_toBottomOf="@+id/rubrikbutton" />
    35. </androidx.constraintlayout.widget.ConstraintLayout>
    Alles anzeigen


    Java-Quellcode: MainActivity.java

    1. package ...;
    2. import androidx.annotation.NonNull;
    3. import androidx.annotation.Nullable;
    4. import androidx.appcompat.app.AppCompatActivity;
    5. import android.content.Intent;
    6. import android.os.Bundle;
    7. import android.view.View;
    8. import android.widget.Button;
    9. import android.widget.Toast;
    10. import com.firebase.ui.auth.AuthUI;
    11. import com.firebase.ui.auth.IdpResponse;
    12. import com.google.android.gms.auth.api.Auth;
    13. import com.google.android.gms.tasks.OnCompleteListener;
    14. import com.google.android.gms.tasks.OnFailureListener;
    15. import com.google.android.gms.tasks.Task;
    16. import com.google.firebase.auth.FirebaseAuth;
    17. import com.google.firebase.auth.FirebaseUser;
    18. import com.google.firebase.database.DatabaseReference;
    19. import com.google.firebase.database.FirebaseDatabase;
    20. import java.util.Arrays;
    21. import java.util.List;
    22. public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    23. private static final int MY_REQUEST_CODE = ...;
    24. List<AuthUI.IdpConfig> providers;
    25. Button btn_sign_out;
    26. private FirebaseDatabase database = FirebaseDatabase.getInstance();
    27. private DatabaseReference myRef = database.getReference();
    28. Button startbutton;
    29. @Override
    30. protected void onCreate(Bundle savedInstanceState) {
    31. super.onCreate(savedInstanceState);
    32. setContentView(R.layout.activity_main);
    33. btn_sign_out = (Button) findViewById(R.id.btn_sign_out);
    34. btn_sign_out.setOnClickListener(new View.OnClickListener() {
    35. @Override
    36. public void onClick(View view) {
    37. //Logout
    38. AuthUI.getInstance()
    39. .signOut(MainActivity.this)
    40. .addOnCompleteListener(new OnCompleteListener<Void>() {
    41. @Override
    42. public void onComplete(@NonNull Task<Void> task) {
    43. btn_sign_out.setEnabled(false);
    44. showSignInOptions();
    45. }
    46. }).addOnFailureListener(new OnFailureListener() {
    47. @Override
    48. public void onFailure(@NonNull Exception e) {
    49. Toast.makeText(MainActivity.this, ""+e.getMessage(), Toast.LENGTH_SHORT).show();
    50. }
    51. });
    52. }
    53. });
    54. providers = Arrays.asList(
    55. new AuthUI.IdpConfig.EmailBuilder().build(),
    56. new AuthUI.IdpConfig.PhoneBuilder().build(),
    57. new AuthUI.IdpConfig.FacebookBuilder().build(),
    58. new AuthUI.IdpConfig.GoogleBuilder().build()
    59. );
    60. showSignInOptions();
    61. }
    62. private void showSignInOptions() {
    63. startActivityForResult(
    64. AuthUI.getInstance().createSignInIntentBuilder()
    65. .setAvailableProviders(providers)
    66. .setTheme(R.style.MyTheme)
    67. .build(), MY_REQUEST_CODE
    68. );
    69. }
    70. @Override
    71. protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    72. super.onActivityResult(requestCode, resultCode, data);
    73. if (requestCode == MY_REQUEST_CODE)
    74. {
    75. IdpResponse response = IdpResponse.fromResultIntent(data);
    76. if (resultCode == RESULT_OK){
    77. //Get User
    78. FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
    79. //Show E-Mail on toast
    80. Toast.makeText(this, ""+user.getEmail(), Toast.LENGTH_SHORT).show();
    81. //Set button Sign-Out
    82. btn_sign_out.setEnabled(true);
    83. }
    84. else
    85. {
    86. Toast.makeText(this, ""+response.getError().getMessage(), Toast.LENGTH_SHORT).show();
    87. }
    88. }
    89. }
    90. }
    Alles anzeigen
  • hallo
    Das ist leider nicht das layout das ist das layout der activity .
    Das es nicht zu deinem Bild passt müsstest du selber merken.
    Denn das layout hat ja nur zwei Button mehr nicht keinen Text.....

    Zu diesen zeitpunkt befindest du dich in einem vom firebase erzeugten layout.

    Mit dem startActivityForResult startest du einen in intent und befindest dich in System Methoden. Nicht mehr in deiner App.
    Wenn das beendet ist kommst wider in der onActivityResult an.

    Das aussehen und die Anzeige wird von firebase gemacht . Es könnte sein das du dies in der Konsole von firebase Verändern kannst.

    firebase.google.com/docs/auth/android/firebaseui
    Ein Feedback auf Tipps ist auch schön. :P