Я использую Tab Host в своем приложении для Android. У меня скрыт заголовок.
Когда я выхожу из приложения и возвращаюсь к нему, у меня какое-то странное поведение.
Если я вернусь к вкладке, используя действие списка с listView.setAdapter, строка заголовка будет скрыта, а занимаемое ею пространство будет занято приложением. Однако, если я вернусь к любой вкладке без listView.setAdapter, строка заголовка будет скрыта, но пространство, которое было использовано, останется позади.
Это выталкивает мои вкладки (которые расположены внизу экрана) за пределы экрана. Пространство снова потребляется моим приложением, если я затем перехожу на любую другую вкладку.
Я безуспешно пытался аннулировать большинство очевидных представлений в своем приложении. Ниже мой файл tab_activity xml. огромное спасибо
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout android:orientation="vertical"
android:layout_width="fill_parent" android:layout_height="fill_parent">
<FrameLayout android:id="@android:id/tabcontent"
android:layout_width="fill_parent" android:layout_height="0dip"
android:layout_weight="1" />
<TabWidget android:id="@android:id/tabs"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:layout_weight="0" />
</LinearLayout>
</TabHost>
</LinearLayout>
Вот манифест
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.tar.projectx" android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="8" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<application android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen" android:icon="@drawable/icon" android:label="@string/app_name" android:debuggable="true">
<activity android:name=".Splash" android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen" android:label="@string/app_name" android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="SearchActivity" android:label="SearchActivity" android:screenOrientation="portrait"></activity>
<activity android:name="SearchListActivity" android:label="SearchListActivity" android:screenOrientation="portrait"></activity>
<activity android:name="ContactActivity" android:label="ContactActivity" android:screenOrientation="portrait"></activity>
</application>
</manifest>
Интересно, что если я использую приведенный ниже код в методе onResume моей mainActivity, который содержит вкладку, после исчезновения всплывающего уведомления представление обновляется, а место вверху снова занимает мое приложение. Очевидно, что это не так уж много, но может помочь кому-то понять, что происходит.
@Override
protected void onResume() {
super.onResume();
Toast.makeText(this, "Welcome Back", Toast.LENGTH_LONG).show();
}