Android 固有のコードはすべて、Android バックエンドに存在する必要があります。共通プロジェクトで Android 固有のコードを使用することはできません。
現在のすべての libGDX UI 要素は、OpenGL に基づいたカスタム要素です (したがって、libGDX がサポートするすべてのプラットフォームである程度一貫しています)。Android UI プリミティブをラップする要素はありません。ボタン、ラベル、リストなどの単純なものについては、移植性のために libGDX UI コンポーネントを使用することをお勧めします。テキスト入力やプラットフォームとの対話 (共有など) などのより複雑な要素については、プラットフォーム固有のコードを呼び出すための標準の「インターフェイスの定義」メソッドを使用できます。
具体的には、ユーザーが自分の名前を入力するためのダイアログ ボックスをポップアップ表示するとします。定義
public interface PlatformUI {
public void showHighscoreNameEdit();
}
次に、Android プロジェクトで、Android プリミティブを使用してクラスにこのインターフェイスを実装します。次に、このオブジェクトのインスタンスを共通コードのコンストラクターに渡します。これで、共通コードは Android レイヤーを「呼び出す」ことができます。
Android の初期化コードでは次のようになります。
AndroidUI androidUI = new AndroidUI(...);
initialize(new Game(androidUI));
プラットフォーム コードでは次のようになります。
if (timeToShowEditBox) {
androidUI.showHighscoreNameEdit();
}
@android 開発者が指摘しているように、AdMobInLibgdx wiki ページでは、Android 固有の AdMob ライブラリを呼び出すことを意図してこれをカバーしています。これはこの場合非常に似ています。