2013-09-06 5 views
0

Я показываю прозрачный макет как viewstub в своем приложении.Load viewstub в ландшафтном режиме

ViewStub newview = (ViewStub) findViewById(R.id.newstb);  
mButtonSave.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 

       if (shouldShowInstructions()) { 

        // Shows the instructions view and returns 
        newview.setVisibility(View.VISIBLE); 

        mIsShowingIntsructions = true; 
        return; 
       } else { 

        // some execution 
       } 
      } 
     }); 

Его отображение на кнопке справа. Вот XML:

 </LinearLayout> 

    <ViewStub 
     android:id="@+id/newstb" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout="@layout/new_overlay" 
     android:visibility="gone" /> 


</RelativeLayout> 

Теперь, когда пользователь поворачивать экран я хочу, чтобы получить XML из layout-land.Name обеих XMLs являются new_overlay.xml. Я думал, что это будет сделано автоматически как свойство android. Но не повезло. Может кто-нибудь мне помочь?

+0

еще нет подсказки: ((( – user2534310

ответ

0

Посмотрите на ваш Manifest и проверить, если вы установите свойство

android:configChanges="orientation|screenSize" 

для этой конкретной деятельности. Если это так, XML-макет-земля не будет загружаться автоматически.

В этом случае у вас есть два варианта:

  • изменения макета ручки в onConfigurationChanged()
  • Или удалить эти параметры из манифеста (их использование не рекомендуется в любом случае, если вы доверяете много блогов о этот раздел), и самостоятельно обрабатывайте изменения ориентации, используя onSaveInstanceState(). Таким образом, макет-земельный xml будет автоматически распознаваться.
Смежные вопросы