Я разрабатываю приложение с использованием принципов разработки пользовательского интерфейса Google, поэтому я хочу реализовать ActionBar.
Он должен работать на 2.2, поэтому я решил использовать пример ActionBarCompat.
Вместо использования iosched, где панель действий является макетом, включенным в файл XML, я решил реализовать это с помощью помощника:
public void onCreate(Bundle savedInstanceState) {
mActivity.requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
}
public void onPostCreate(Bundle savedInstanceState) {
mActivity.getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,
R.layout.actionbar_compat);
setupActionBar();
}
Проблема в том, что когда мое приложение загружается, оно отображает заголовок DefaultBar и затем меняет его на мой, так что есть уродливый эффект...
Любой способ избежать этого?
Спасибо!!
Это потому, что тема по умолчанию приложения имеет строку заголовка, и тема загружается до запуска метода onCreate().
Итак, вам нужно изменить тему своей деятельности (или вашего приложения) в файле манифеста с темой, которая не имеет заголовка.
Например:
<activity
android:name=".MyActivity"
android:label="@string/app_name"
android:theme="@android:style/Theme.Light.NoTitleBar" >