Проблема со скрытой панелью

Я новичок в андроиде, я использую tabHost, добавляя некоторые вкладки к нему, его работа отличная, но когда я поворачиваю свое устройство в ландшафтном режиме, он также отлично работает, но мне не нужна панель вкладок, потому что он занимает много места И у меня также есть рекламные объявления google, поэтому оба они покрывают половину экрана и оставляют небольшое пространство для взаимодействия с пользователем. Все, что мне нужно, – это решение, чтобы как-то скрыть панель вкладок так же, как мы можем сделать это в iphone, чтобы сделать немного места для Пользователь для взаимодействия. Мне нужно какое-то решение срочно. Спасибо.

Я думаю, что вы должны обернуть виджет вкладки в любой группе ViewGroup, такой как LinearLayout или RelativeLayout, и создать статическую функцию в вашей вкладке, чтобы показать / скрыть эту оболочку. Вот вам немного кода.

<LinearLayout android:id="@+id/popupTabs" android:layout_width="fill_parent" android:layout_height="wrap_content" android:visibility="gone"> <TabWidget android:id="@android:id/tabs" android:layout_height="wrap_content" android:layout_width="fill_parent"></TabWidget> </LinearLayout> 

Теперь ваша вкладка должна сделать что-то вроде этого.

 public class TabsView extends TabActivity { public static LinearLayout popupTabs ; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { popupTabs = (LinearLayout) findViewById(R.id.popupTabs); // Your other code //............ //............ } // Show Tabs method public static void showTabs(){ popupTabs.setVisibility(ViewGroup.VISIBLE); } // Hide Tabs method public static void hideTabs(){ popupTabs.setVisibility(ViewGroup.GONE); } } 

Теперь вы можете вызвать этот метод статически из любого места в вашем коде, как это

 // hide tab from any activity TabsView.showTabs(); // hide tab from any activity TabsView.hideTabs() 

Для Hide

 mTabHost.getTabWidget().setVisibility(View.GONE); 

Для Visible

 mTabHost.getTabWidget().setVisibility(View.VISIBLE); 

Самый простой способ – создать вторую версию вашего файла layout.xml, который не включает TabHost и помещает его в папку ресурсов с именем «layout-land» (суффикс «land» не подходит для «пейзажа»). Дополнительную информацию см. В этой статье SDK .

Помимо того, что Рубен говорит вам, нужно было бы оживить переход между обоими, чтобы изменения были немного более гладкими.