アプリにpaypal sdkを組み込み、添付画像のように商品名と価格を設定しました。
Paypal PaymentActivity クラスのタイトルを変更することは可能ですか。?
このリンクからペイパルのコード全体を使用しまし た。タイトルを任意のテキストに変更できるかどうか提案してください (赤い丸でマークされたテキストを変更したい)?
PayPal Mobile SDK チームの Jeff です。
PayPal Android SDK は、SDK アクティビティの変更をサポートしていません。一貫性のないユーザー エクスペリエンスになるため、タイトルを変更する機能を許可する予定はありません。ただし、ユーザーからのフィードバックは受け付けています。機能のリクエストがある場合は、 GitHubでお気軽に問題を報告してください。
ファイルには、次のようなAndroidManifest.xml
エントリが含まれている必要があります。PaymentActivity
<activity android:name="com.paypal.android.sdk.payments.PaymentActivity" />
タイトルを変更するには、それにlabel
属性を追加するだけです。
<activity android:name="com.paypal.android.sdk.payments.PaymentActivity" android:label="@string/some_title" />
その他の有用な属性については、activity
タグのドキュメントを参照してください。
注: ここでは、PayPal SDK でタイトルをオーバーライドできると想定しています。つまり、何も明示的に指定されていない場合、デフォルトのタイトルのみを設定することを期待しています。
編集:残念ながら、上記の仮定は正しくないことが証明されています。もう少し深く掘り下げると、PayPal SDK のすべてのアクティビティは、常にそのタイトルをonCreate()
メソッドに設定することがわかります。これは実際には少し驚くべきことです。これは、PayPal がローカライズとリソースに対する Android の組み込みサポートを利用していないことを意味するためです。AndroidリソースのバンドルをサポートしていないjarとしてSDKを開発者に提供できると思いますが。
いずれにせよ、さまざまなアクティビティが宣言されていないため、final
それらを拡張して、スーパーが作業を完了した後にタイトルを設定することができます。
public class TitlePaymentMethodActivity extends PaymentMethodActivity {
@Override public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTitle("Custom Title")
// or:
setTitle(R.string.custom_title);
}
}
その後、マニフェストを変更してTitlePaymentMethodActivity
、SDK のアクティビティを直接指すのではなく、自分の を指すようにする必要があります。PayPal がアクティビティ クラスをファイナライズすることを決定した場合、このアプローチはいつでも壊れる可能性があることに注意してください。それを念頭に置いて、@shoe rat の推奨に従って、PayPal に「公式」サポートのリクエストを提出することをお勧めします。