Android 앱용 2D 게임 엔진을 만들려고합니다. 나는 this tutorial을 따라 왔는데, 이것은 전체 화면 디스플레이를 만드는 데는 잘 작동하지만, 나는 그것을 원하지 않는다. 내보기를 화면의 상단 2/3 (또는 무엇이든)으로 만들고 하단 Android 3 (단추, 텍스트 입력 등) 위젯을 채우고 싶습니다. 나는 이것을 작동시킬 수 없다. 내가 얻을 수있는 최선의 방법은 빈 화면입니다. 나는 바깥 쪽 LinerLayout을 사용하고 중첩 된 RelativeLayout 안에 사용자 정의 SurfaceView를 포함하고 중첩 된 LinearLayout에 안드로이드 위젯을 넣는 것을 포함하여 많은 순열을 시도했지만 작동하지 않습니다.Android 사용자 지정 크기 변경 SurfaceView
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 :
그것은 텍스트 뷰에 대한 50 %의 서피스 뷰 SurfaceView, 50 %이어야한다 같은 느낌 할 때 예를 들어,이 흰색 화면을 생산
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;
}
}
아이디어가 있으십니까?