google および facebook 統合を使用するアプリケーションを開発しています...これらのボタンの高さと幅を修正したい...そしてボタンテキストを手動で設定したい。 ..
私はこれまで試しました
<com.facebook.login.widget.LoginButton
xmlns:fb="http://schemas.Android.com/apk/res-auto"
Android:id="@+id/connectWithFbButton"
Android:layout_width="match_parent"
Android:layout_height="50dp"
Android:layout_marginLeft="10dp"
Android:layout_marginRight="10dp"
Android:text="@string/fbloginText"
Android:layout_marginTop="30dp"
/>
<com.google.Android.gms.common.SignInButton
Android:id="@+id/signin"
Android:layout_width="match_parent"
Android:layout_height="50dp"
Android:text="@string/googleloginText"
Android:layout_marginLeft="10dp"
Android:layout_marginRight="10dp"
Android:layout_marginTop="20dp"/>
私はこのようなことを試みましたが
fb:login_text="Login"
fb:logout_text="Logout"
or
facebook:login_text="Login"
しかし、エラーが発生しました:: =>パッケージ 'com.test.b2c'の属性 'login_text'にリソース識別子が見つかりません
またはコーディングで
loginButton = (LoginButton) findViewById(R.id.connectWithFbButton);
loginButton.setText("Login");
今私のレイアウトはこのようなものに見えます
このボタンの高さと幅も設定したい.. ...事前に友達を助けて..... thx
[〜#〜]更新[〜#〜]
幅の設定に直接問題はありませんが、私が本当に心配しているのは、図に示されている一貫性のない高さです。これらのボタンの高さを等しくするためのより良い方法を見つける必要があり、それらのボタンにテキストを設定します。
Facebookログインのカスタムテキストを変更する場合は、.
そのFacebookライブラリプロジェクトに移動し、string.xmlに移動します。
あなたはこのようなものを見つけるでしょう
<string name="com_facebook_loginview_log_in_button_long">Log in with facebook </string>
これをカスタムテキストに置き換えます
ただし、Google Plusのカスタムテキストを変更する場合は、
From OnCreateこれを呼び出す
setGooglePlusButtonText(signinButton,"your custom text");
// Google Plusのテキスト変更メソッド
protected void setGooglePlusButtonText(SignInButton signInButton,
String buttonText) {
for (int i = 0; i < signInButton.getChildCount(); i++) {
View v = signInButton.getChildAt(i);
if (v instanceof TextView) {
TextView tv = (TextView) v;
tv.setTextSize(15);
tv.setTypeface(null, Typeface.NORMAL);
tv.setText(buttonText);
return;
}
}
}
Facebookの高さの不一致のために、私はFacebookボタンXMLにパディングを追加しました
Android:paddingTop="20dp"
Android:paddingBottom="20dp"
このスタイルのxmlコードは、写真のように(テキストとボタンのサイズで)アプリのFacebookログインボタンをカスタマイズします。
<com.facebook.login.widget.LoginButton
Android:id="@+id/login_button"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:layout_marginTop="40dip"
Android:paddingTop="10dp"
Android:paddingBottom="10dp"
Android:textSize="20sp"
facebook:com_facebook_login_text="Facebook"
facebook:com_facebook_logout_text="Facebook" />
結果:
線形レイアウトを追加し、それに2つのボタンを追加します。
<LinearLayout
Android:id="@+id/parentLinear"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:orientation="vertical" >
<com.facebook.login.widget.LoginButton
xmlns:fb="http://schemas.Android.com/apk/res-auto"
Android:id="@+id/connectWithFbButton"
Android:layout_width="wrap_content"
Android:layout_height="50dp"
Android:layout_marginLeft="10dp"
Android:layout_marginRight="10dp"
Android:text="@string/fbloginText"
Android:layout_marginTop="30dp" />
<com.google.Android.gms.common.SignInButton
Android:id="@+id/signin"
Android:layout_width="wrap_content"
Android:layout_height="50dp"
Android:text="@string/googleloginText"
Android:layout_marginLeft="10dp"
Android:layout_marginRight="10dp"
Android:layout_marginTop="30dp" />
</LinearLayout>
これにより、両方のボタンに正しい高さ、幅およびマージンが表示されます
変更する必要がありますAndroid:layout_width
からwrap_content
、または特定のサイズ、できればdpで(例:20dp
、30dp
、40dp
)。
エラーについては、strings.xmlを編集していないために表示される可能性があります。Android Studioを使用すると、これらの値が自動的に作成され、プレビューも表示されます。アプリの。
<com.facebook.login.widget.LoginButton
xmlns:fb="http://schemas.Android.com/apk/res-auto"
fb:com_facebook_login_text="Your Text"
Facebookウィジェットに以下を追加します。
Android:paddingTop="20dp"
Android:paddingBottom="20dp"
loginView:login_text="your custom text here"
[〜#〜]更新[〜#〜]
これも含める必要があります:
xmlns:loginView="http://schemas.Android.com/apk/res-auto"