1

Я разрабатываю приложение для Android и мне нужно использовать свою настраиваемую строку заголовка, используя изображение и две кнопки. Дело в том, что сразу же, когда я запускаю свое приложение, за 1 или 2 секунды до появления моей настраиваемой строки заголовка появляется уродливое значение по умолчанию с отображением «моего приложения». Минимальный целевой API равен 15.Панель заголовка по умолчанию отображается до появления моей настраиваемой строки заголовка

Все ответы, обнаруженные при переполнении стека, не работали или удались, чтобы они исчезли, но делали то же самое с моей настраиваемой панелью заголовков.

Вот как я это называю из моей деятельности:

supportRequestWindowFeature(Window.FEATURE_CUSTOM_TITLE); 
super.onCreate(savedInstanceState); 
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,R.layout.topbarclassic); 

С моего первого зрения фрагмент я не называю SetContentView

И это мой обычай styles.xml:

<resources> 

    <style name="theme" parent="Theme.AppCompat.Light.NoActionBar"> 
     <item name="android:windowTitleSize">50dp</item> 
     <item name="android:windowNoTitle">false</item> 
    </style> 

</resources> 

Еще раз моя пользовательская панель заголовков работает правильно. Мне просто нужно избавиться от по умолчанию, который отображается быстро, когда приложение запускается. Большое спасибо!

+0

android: windowNoTitle = true? – Eoin

+0

Я не думаю, что вы можете это изменить. Его просто как Android загружает приложения. – LonelyIdiot

+0

@Modge У меня нет выбора ... У меня есть ошибка в противном случае, говоря, что я не могу объединить функции заголовка. И если я попытаюсь изменить некоторые другие параметры, возможно, AppCompat не поддерживает эти функции: {...} – Virthuss

ответ

0

Если найден обходной путь для моей проблемы с использованием ссылки Modge о splashscreen.

Он не решает проблему самостоятельно, но остается хорошим обходным решением.

Я создал небольшую активность, отвечающую за заставку, избегая белого первого экрана, чтобы оставаться слишком долго. Затем этот всплеск будет перенаправлен на мою основную деятельность.

Это также полезно в моем случае, так как я могу начать процесс подключения во время заставки. Вы можете следовать этому примеру: http://www.androidhive.info/2013/07/how-to-implement-android-splash-screen-2/

1

, если вы используете этот стиль активность будет загружаться без панели действий

<style name="theme" parent="Theme.AppCompat.Light.NoActionBar"> 
    <item name="windowActionBar">false</item> 
    <item name="windowNoTitle">true</item> 
</style> 

Тогда вы действительно должны использовать панель инструментов, чтобы установить панель действий. Например:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:minHeight="?attr/actionBarSize" /> 

</RelativeLayout> 

Тогда в вашей деятельности вы можете установить панель действий, как это:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(...); 

    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 
    getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
} 

Не забудьте установить ваш их в AndroidManifest.xml

<activity 
     android:name=".path.MyActivity" 
     android:theme="@style/theme"/> 
+0

Сложно это не работает, как я уже сказал, я не звоню setContentView (...); в моей деятельности, так как мой взгляд появляется в фрагменте. Я попытаюсь поместить это в фрагмент, чтобы увидеть, работает ли это. Кстати, что мне делать с поддержкойRequestWindowFeature (Window.FEATURE_CUSTOM_TITLE); и getWindow(). setFeatureInt (Window.FEATURE_CUSTOM_TITLE, R.layout.topbarclassic); ? – Virthuss

+0

удалите их, они не понадобятся, возможно, попробуйте также сделать свою деятельность. AppCompatActivity – Eoin

+0

Он уже делает, но ничего не отображается – Virthuss

Смежные вопросы