Masashi.K 様
回答有り難うございます。
お教え頂いた「FrameLayout」でパノラマビューを重ねて表示後、片方のビューを移動して重なりをなくすようにしましたが
やはり片方(右眼用)でXMLのレイアウトの定義では後の方のfragmentは黒く表示されます。
下記に主要な部分のソースを示します。
1.レイアウトでは左・右眼用のビューを画面左上に重ねて表示するように定義
2.アクティビティのonCreateにて
①左右の眼用のビューを初期化する
②示右眼用のビューの表示位置を画面右端に移動する
結果は上記に書いたように、左眼用の窓には指定された場所の風景が表示されますが、
右眼用の窓は真っ黒のままでした。
こんな状況で次にどのような手を打つべきか手詰まりの状態です。
すみませんがまたアドバイスいただけないでしょうか?
【レイアウト】
----*----*----*----*----*----*----*----*----*----*----
tools:context=".VRActivity" >
<fragment
android:id="@+id/streetviewpanorama1"
android:layout_width="400px"
android:layout_height="400px"
android:layout_gravity="left|top"
android:layout_marginLeft="10px"
android:layout_marginTop="10px"
android:id="@+id/streetviewpanorama2"
android:layout_width="400px"
android:layout_height="400px"
android:layout_gravity="left|top"
android:layout_marginLeft="10px"
android:layout_marginTop="10px"
android:name="com.google.android.gms.maps.StreetViewPanoramaFragment"/>
</FrameLayout>
【処理ロジック】
----*----*----*----*----*----*----*----*----*----*----
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_vr);
:
:
// パノラマビューの制御オブジェクトを生成
mStreetViewControl = new StreetViewControl(this, "panorama1");
// 左眼用の表示オブジェクトにパノラマビューを表示するように設定
StreetViewPanoramaFragment streetViewPanoramaFragment1 = (StreetViewPanoramaFragment)getFragmentManager().findFragmentById(R.id.streetviewpanorama1);
streetViewPanoramaFragment1.getStreetViewPanoramaAsync(mStreetViewControl);
// 右眼用の表示オブジェクトにパノラマビューを表示するように設定
StreetViewPanoramaFragment streetViewPanoramaFragment2 = (StreetViewPanoramaFragment)getFragmentManager().findFragmentById(R.id.streetviewpanorama2);
streetViewPanoramaFragment2.getStreetViewPanoramaAsync(mStreetViewControl);
// パノラマビューの視点を指定された緯度・経度に設定
mStreetViewControl.setLocation(mLatLng);
// 画面左上に重なっている表示右眼用の表示オブジェクトを画面の右側に移動
View view = (View)findViewById(R.id.streetviewpanorama2);
FrameLayout layout = new FrameLayout(this);
FrameLayout.LayoutParams layoutParams1 = new FrameLayout.LayoutParams(400, 400);
layoutParams1.gravity = Gravity.RIGHT|Gravity.TOP;
layoutParams1.topMargin = 10;
layoutParams1.rightMargin = 10;
view.setLayoutParams(layoutParams1);
}
public class StreetViewControl implements
OnStreetViewPanoramaReadyCallback,
StreetViewPanorama.OnStreetViewPanoramaChangeListener,
StreetViewPanorama.OnStreetViewPanoramaCameraChangeListener,
StreetViewPanorama.OnStreetViewPanoramaClickListener,
StreetViewPanorama.OnStreetViewPanoramaLongClickListener{
:
:
StreetViewPanoramaオブジェクトのイベント処理や表示制御を処理
:
:
}