1

したがって、基本的に、作成中のカードゲームのフラグメントを定義しました。このフラグメントをプレーヤー 1 とプレーヤー 2 の両方に再利用したいと考えています (どちらも同じレイアウトを持っているため)。これをどのように達成できますか、私はフラグメントを回転させる研究を行っていますが、これまでコードでその方法を説明した回答はありません。画面が回転したときの処理のみを説明しています。

1v1 ゲームのアクティビティ

package com.PigRam.magichelper;

import android.os.Bundle;
import android.support.v4.app.FragmentActivity;

public class OneVsOneDuelActivity extends FragmentActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);

    setContentView(R.layout.one_vs_one_view);
}
}

フラグメントのレイアウト

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:baselineAligned="true">

<fragment android:name="com.PigRam.magichelper.PlayerOneDuelFragment"
    android:id="@+id/player_one_fragment"
    android:layout_weight="1"
    android:layout_width="match_parent"
    android:layout_height="0dp"/>

<fragment android:name="com.PigRam.magichelper.PlayerTwoDuelFragment"
    android:id="@+id/player_two_fragment"
    android:layout_weight="1"
    android:layout_width="match_parent"
    android:layout_height="0dp" />

</LinearLayout>

現在、フラグメント レイアウトのレイアウトには、プレーヤーのターンが終了したことを示すために表示したいボタンが 1 つだけあります。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">

<Button android:text="@string/end_turn"
    android:id="@+id/end_turn_botton"
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"/>

</LinearLayout>

プレイヤー 1 のコード (プレイヤー 2 もまったく同じ)

package com.PigRam.magichelper;

import android.os.Bundle;
import android.support.v4.app.FragmentActivity;

public class OneVsOneDuelActivity extends FragmentActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);

    setContentView(R.layout.one_vs_one_view);
}
}
4

2 に答える 2

1

Android v3.0以降を使用している場合、同じフラグメントを再利用し、2番目のインスタンスでhttp://developer.android.com/reference/android/view/Viewを使用してビューを180度回転させることができると思います.html#setRotation(float) (ピボットポイントを 0.5、0.5 に設定した後)

于 2013-05-15T13:35:07.730 に答える