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>

目前,片段布局在其布局中只有一个按钮,我希望显示该按钮以指示玩家回合结束。

<?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+,您可以重用相同的片段并让第二个实例使用http://developer.android.com/reference/android/view/View将其视图旋转 180 度.html#setRotation(float)(将轴心点设置为 0.5, 0.5 后)

于 2013-05-15T13:35:07.730 回答
1

在相对布局中添加该片段并将旋转设置为 180

<RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="150dp"
            android:rotation="180">

            <fragment
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"

                android:layout_centerVertical="true"
                android:layout_alignParentEnd="true" />
        </RelativeLayout>
于 2018-01-08T18:33:58.597 回答