내 활동에서 화면 방향에 "의존"하는보기가 있습니다. 가로 모드 인 경우 레이아웃 - 큰 핸드 아래의 레이아웃을 사용하지만 가로 모드 인 경우 레이아웃 폴더 아래의 레이아웃을 사용합니다. 활동에는 마커와 정보가 포함 된지도가 표시됩니다. 내 AndroidManifest를에서오리엔테이션 변경시보기 다시로드
은 내가
android:configChanges="orientation|screenSize"
을 가지고 있지만 활동은 세로 모드에서만 레이아웃을 보여줍니다.
어떻게 해결할 수 있습니까?
편집 3/12 :
는이 같은 레이아웃이 있습니다
<RelativeLayout 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:orientation="vertical" >
<fragment
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.google.android.gms.maps.MapFragment" />
<include
android:id="@+id/my_view"
layout="@layout/my_view"
android:visibility="gone" />
</RelativeLayout>
을하고 난 my_view 레이아웃을 변경하는 것을 원하지만지도는 모든 마커, 줌 레벨, 위치, ECC ECC로 남아 ...
활동 내에서 dinamically 만든 버튼을 클릭하면 my_view가 표시됩니다.
편집 2 :
처럼 SweetWisher ツ 내가 설정에 뷰에 대한 사용자 정의 동작을 시도하고 있었다 말한다. 그러나 장치를 회전하면지도가 사라집니다. 당신은 화면 방향 변화에 뷰 계층 구조의 기본 설정을 복구하기에서 안드로이드를 방지하고 매니페스트에 android:configChanges="orientation"
를 사용하는 경우
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
initUI();
}
private void initUI() {
setContentView(R.layout.my_layout);
if (mp == null) {
mp = MapFragment.newInstance();
}
getFragmentManager().beginTransaction().replace(R.id.placeholder, mp).commit();
initUIStuff()
}
private void initUIStuff(){
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
initUI();
}
@Override
protected void onStart() {
super.onStart();
initGMap();
}
@Override
protected void onResume() {
super.onResume();
initGMap();
}
private void initGMap() {
if (mp != null {
//Initialize Map
}
}
[읽기] (http://stackoverflow.com/a/13848525/2591002) 및 [따르기] (http://stackoverflow.com/a/13938015/2591002) –
가이드를 따르려고했습니다. . 게시물에 몇 가지 정보를 추가했습니다. 하지만 버튼을 클릭하면 my_view의 레이아웃이 동일 해집니다. – Garro88