Android アプリ用の 2D ゲーム エンジンを作成しようとしています。全画面表示の作成には問題なく機能するこのチュートリアルに従いましたが、それは望ましくありません。画面の上部 2/3 (または何でも) をビューに表示し、下部 3 分の 1 を標準の Android ウィジェット (ボタン、テキスト入力など) で埋めたいと考えています。これを機能させることはできません。私が得ることができる最高のものは、空白の白い画面です。外側の LinerLayout の使用、ネストされた RelativeLayout 内へのカスタム SurfaceView の埋め込み、ネストされた LinearLayout への Android ウィジェットの配置など、多くの順列を試しましたが、うまくいきません。
たとえば、50% の SurfaceView、TextView の場合は 50% である必要があると感じたときに、これは白い画面を生成します。
activity_main.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:baselineAligned="false" >
<RelativeLayout
android:layout_width="0dip"
android:layout_height="0dp"
android:layout_weight="1"
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mapContainer"
>
</RelativeLayout>
<LinearLayout
android:layout_width="0dip"
android:layout_weight="1"
android:layout_height="0dp"
xmlns:android="http://schemas.android.com/apk/res/android" >
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="@color/white"
android:text="@string/test_str" />
</LinearLayout>
</LinearLayout>
MainActivity.java:
package com.removed.for.privacy;
import com.removed.for.privacy;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
RelativeLayout mapContainer = (RelativeLayout) findViewById(R.id.mapContainer);
JSMapView mapView = new JSMapView(this);
mapContainer.addView(mapView);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
何か案は?