Intereting Posts
Gradlew build frozing at mergeDebugResources Идентификатор заказа подписок на Android Как сделать изображение как можно большим, сохраняя соотношение сторон Создание пользовательского наложения на карте Как я могу получить доступ к плейлисту, созданному андроидным музыкальным приложением по умолчанию, и вызвать музыкальное приложение для его воспроизведения? Как установить абсолютный путь библиотеки Android в ant.properties? Цвет фона селектора Android LinearLayout Как программно получить список зарегистрированных пользователей в Firebase Google для текстового API для языков, отличных от английского. Пользовательские макеты уведомлений и цвета текста Вкладки дизайна материалов для Android android 5.0 Android AutoCompleteTextView onItemSelectedListener не запускается с помощью клавиатуры bluetooth Android StringBuilder vs String Concatenation Ошибка Android – Open Failed ENOENT Импортируйте проект eclipse android с системой управления версиями в Android Studio

Android: Строка состояния – белый

По какой-то причине строка состояния теперь белая. Вернее, белый, с другим оттенком белого, для значков, слабо видимых на ярком фоне. Это неправильно, потому что мой appbarlayout использует синий оттенок в качестве цвета. До сих пор это работало нормально, я не знаю, что я сделал, чтобы вызвать это. Я попытался вручную установить statusBarColor в colorPrimaryDark (# 0277bd), но он не работает.

Я просто не знаю, почему это происходит в первую очередь. Я вставляю layout.xml моей деятельности, может быть, кто-то может понять меня в том, что я делаю неправильно здесь.

Несколько примечаний:

Используемые темы не были изменены с их значений по умолчанию, которые должны использовать основные настройки цвета. Я изменил их на правый оттенок синего, что я хотел, но когда я сделал это, все работало.

Мой layout.xml

<?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:statusBarColor="@color/colorPrimaryDark" tools:context=".activities.ContactsActivity"> <android.support.design.widget.AppBarLayout android:id="@+id/contactsActivityAppbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:fitsSystemWindows="true" android:statusBarColor="@color/colorPrimaryDark" android:theme="@style/AppTheme.AppBarOverlay"> <android.support.v7.widget.Toolbar android:id="@+id/contactsActivityToolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" app:popupTheme="@style/AppTheme.PopupOverlay"/> <!-- app:layout_scrollFlags="scroll|enterAlways" --> <android.support.design.widget.TabLayout android:id="@+id/contactsActivityTabs" android:layout_width="match_parent" android:layout_height="wrap_content" app:tabIndicatorColor="@android:color/white" android:scrollbarStyle="insideOverlay" android:paddingBottom="1dp" android:background="@color/colorPrimary"/> </android.support.design.widget.AppBarLayout> <android.support.v4.view.ViewPager android:id="@+id/contactsTabsViewPager" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior"/> </android.support.design.widget.CoordinatorLayout> 

colors.xml

 <?xml version="1.0" encoding="utf-8"?> <resources> <color name="colorPrimary">#0288d1</color> <color name="colorPrimaryDark">#0277bd</color> <color name="colorAccent">#FF4081</color> </resources> 

styles.xml

 <resources> <!-- Base application theme. --> <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> </style> <style name="AppTheme.NoActionBar"> <item name="windowActionBar">false</item> <item name="windowNoTitle">true</item> </style> <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" /> <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" /> </resources> 

Edit: Хорошо, нашел интересное решение, действительно хочу понять его, а не просто полагаться на него. Кроме того, это может быть не лучший ответ в долгосрочной перспективе.

В любом случае, к основной теме приложения (AppTheme) в styles.xml, я добавил следующую строку:

 <item name="android:windowBackground">@color/colorPrimaryDark</item> 

Он сработал, он сделал фон всего, что я специально не назначал цвет этого цвета. Но он также сделал строку состояния такой, чтобы цвет, поэтому я прошел и добавил свой собственный фон к другим вещам, чтобы исправить их.

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

Благодарю.

Изменить: Вот код активности. Благодарю.

 import android.content.Intent; import android.os.Bundle; import android.support.design.widget.TabLayout; import android.support.v4.view.ViewPager; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.view.Menu; import android.view.MenuItem; import io.craigmiller160.contacts5.R; import io.craigmiller160.contacts5.fragments.ContactsGroupsFragmentPage; import io.craigmiller160.contacts5.fragments.ContactsListFragmentPage; import io.craigmiller160.contacts5.fragments.ContactsTabsPagerAdapter; public class ContactsActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_contacts); Toolbar toolbar = (Toolbar) findViewById(R.id.contactsActivityToolbar); setSupportActionBar(toolbar); ViewPager viewPager = (ViewPager) findViewById(R.id.contactsTabsViewPager); ContactsTabsPagerAdapter adapter = new ContactsTabsPagerAdapter(getSupportFragmentManager()); adapter.addFragmentPage(new ContactsListFragmentPage(), "Contacts"); adapter.addFragmentPage(new ContactsGroupsFragmentPage(), "Groups"); viewPager.setAdapter(adapter); TabLayout tabLayout = (TabLayout) findViewById(R.id.contactsActivityTabs); tabLayout.setupWithViewPager(viewPager); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.displaySettings) { Intent intent = new Intent(this, DisplaySettingsActivity.class); startActivity(intent); return true; } return super.onOptionsItemSelected(item); } } 

Solutions Collecting From Web of "Android: Строка состояния – белый"

 <item name="android:statusBarColor">@android:color/transparent</item> 

Вы увидите эту строку кода в values/styles/styles.xml(v21) . Удалите его, и это решает проблему.

Вы можете добиться этого. Перейдите в свой style.xml (v21) и просто измените цвет

  <item name="android:statusBarColor">@color/colorPrimary</item> 

Надеюсь, это решит вашу проблему.

Попробуйте это как XML.

 <?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" tools:context=".activities.ContactsActivity"> <android.support.design.widget.AppBarLayout android:id="@+id/contactsActivityAppbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/AppTheme.AppBarOverlay"> <android.support.v7.widget.Toolbar android:id="@+id/contactsActivityToolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" app:popupTheme="@style/AppTheme.PopupOverlay" /> <android.support.design.widget.TabLayout android:id="@+id/contactsActivityTabs" android:layout_width="match_parent" android:layout_height="wrap_content" app:tabIndicatorColor="@android:color/white" android:scrollbarStyle="insideOverlay" android:paddingBottom="1dp" android:background="?attr/colorPrimary"/> </android.support.design.widget.AppBarLayout> <android.support.v4.view.ViewPager android:id="@+id/contactsTabsViewPager" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior"/> </android.support.design.widget.CoordinatorLayout> 1 <?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" tools:context=".activities.ContactsActivity"> <android.support.design.widget.AppBarLayout android:id="@+id/contactsActivityAppbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/AppTheme.AppBarOverlay"> <android.support.v7.widget.Toolbar android:id="@+id/contactsActivityToolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" app:popupTheme="@style/AppTheme.PopupOverlay" /> <android.support.design.widget.TabLayout android:id="@+id/contactsActivityTabs" android:layout_width="match_parent" android:layout_height="wrap_content" app:tabIndicatorColor="@android:color/white" android:scrollbarStyle="insideOverlay" android:paddingBottom="1dp" android:background="?attr/colorPrimary"/> </android.support.design.widget.AppBarLayout> <android.support.v4.view.ViewPager android:id="@+id/contactsTabsViewPager" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior"/> </android.support.design.widget.CoordinatorLayout> 

Я думаю, вы, возможно, задали тему несколько раз и ее сбивали с толку.

Если все будет сделано правильно, строка Status получит свой цвет от colorPrimaryDark .

У меня была эта точная проблема. Я исправил это, изменив тему приложения, чтобы расширить стиль AppActat NoActionBar:

 <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <item name="colorPrimary">@color/primary</item> <item name="colorPrimaryDark">@color/primary_dark</item> <item name="colorAccent">@color/accent</item> <item name="android:windowBackground">@color/alabaster</item> </style> 

Мой макет деятельности:

 <?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:ignore="MergeRootFrame"> <android.widget.RelativeLayout android:id="@+id/chat_container" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior" /> <android.support.design.widget.AppBarLayout android:id="@+id/appbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/AppTheme.AppBarOverlay"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" app:layout_scrollFlags="scroll|enterAlways|snap" app:popupTheme="@style/AppTheme.PopupOverlay"> </android.support.v7.widget.Toolbar> </android.support.design.widget.AppBarLayout> 

Где RelativeLayout содержит фрагмент, который имеет только RecyclerView внутри RelativeLayout. Поэтому удалите строку android: statusBarColor = "@ color / colorPrimaryDark" и fitSystemWindow xml и измените тему, и я думаю, что это должно сработать.

Я не могу сказать, что я подробно изучил это, но ни один из других ответов не предложил «windowDrawsSystemBarBackgrounds», который, похоже, работает без необходимости явно указывать цвета строки состояния. Таким образом, v21 / styles.xml:

<resources> <style name="AppTheme.NoActionBar"> <item name="windowActionBar">false</item> <item name="windowNoTitle">true</item> <item name="android:windowDrawsSystemBarBackgrounds">true</item> </style> </resources>