Yes, you can use your own layout & buttons for Firebase UI Auth on Android.
For Google and Facebook, You can use widgets provided in XML file like:
<com.google.android.gms.common.SignInButton
android:id="@+id/btn_google_login"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dip"
android:background="@color/colorAccent"
android:text="@string/btn_google_login"
android:textColor="@android:color/black" />
<com.facebook.login.widget.LoginButton
android:id="@+id/btn_facebook_login"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dip"
android:background="@color/colorAccent"
android:text="@string/btn_facebook_login"
android:textColor="@android:color/black"/>
Then you can use your "android:id" to perform action on onClick
Hope your question is answered.
EDIT:
For the google flow:
// Configure sign-in to request the user's ID, email address, and basic
// profile. ID and basic profile are included in DEFAULT_SIGN_IN.
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestIdToken(Your web_client_id)
.requestEmail()
.build();
btn_google_login = (SignInButton) findViewById(R.id.btn_google_login);
btn_google_login.setSize(SignInButton.SIZE_STANDARD);
btn_google_login.setScopes(gso.getScopeArray());
btn_google_login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//If you want everytime for user to ask the account to select.
mGoogleApiClient.clearDefaultAccountAndReconnect();
Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);
startActivityForResult(signInIntent,RC_SIGN_IN);
}
});