web-dev-qa-db-ja.com

Googleサインインボタンのレイアウト-Android

私はどこでも検索していて、欲しいものが見つからないので、これは不可能だと思い始めています。

ここに質問があります:サインイン用のグーグルボタンがあります、それは美しいボタンです、しかしそれは私のレイアウトに収まりません、私はグーグルボタンで私が作成した画像を使用したいと思います、画像で起こることのようにボタン、それは可能ですか?はいの場合、どうすればこれを行うことができますか?

ありがとう

5
Rick Sanchez

私はあなたの質問の解決策を持っています。私はグーグルプラスのカスタムサインインボタンのためにこれを常に試しました。

これを試してみてください。私がテストしました。

これがコードです。

xmlレイアウト

_<com.google.Android.gms.common.SignInButton
    Android:id="@+id/google_button"
    Android:layout_width="match_parent"
    Android:layout_height="match_parent"
    Android:layout_marginLeft="5dp"
    Android:text="Text"
    Android:layout_alignParentTop="true"
    Android:layout_margin="10dp"
    Android:textSize="18sp" />
_

カスタマイズの方法

_private void googleBtnUi() {
    // TODO Auto-generated method stub

    SignInButton googleButton = (SignInButton) findViewById(R.id.google_button);
    googleButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

        }
    });

    for (int i = 0; i < googleButton.getChildCount(); i++) {
        View v = googleButton.getChildAt(i);

        if (v instanceof TextView)
        {
            TextView tv = (TextView) v;
            tv.setTextSize(14);
            tv.setTypeface(null, Typeface.NORMAL);
            tv.setText("My Text");
            tv.setTextColor(Color.parseColor("#FFFFFF"));
            tv.setBackgroundDrawable(getResources().getDrawable(
                    R.drawable.ic_launcher));
            tv.setSingleLine(true);
            tv.setPadding(15, 15, 15, 15);

            return;
        }
    }
}
_

編集

メソッドgoogleBtnUi()に戻る前にこのコードを追加してください

_ViewGroup.LayoutParams params = tv.getLayoutParams();
params.width = 100;
params.height = 70;
tv.setLayoutParams(params);
_
6

レイアウトに合わない場合は、Googleサインインボタンを使用する必要はありません。独自のデザインで独自のボタンを作成するだけで、OnClickメソッドでGoogleサインインインテントを作成するだけです。

Button myGoogleBtn = (Button) findViewById(R.id.loginGoogle);
myGoogleBtn.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
       Intent signInIntent = mGoogleSignInClient.getSignInIntent();
       startActivityForResult(signInIntent, RC_SIGN_IN); 
    }
});
5

独自のボタンを作成して、XMLタグを使用できますAndroid:drawableLeft="@drawable\file"ボタンに画像を表示します。

1
Deepesh