Я занимаюсь разработкой приложения для телефона по умолчанию. Это обеспечивает в интерфейсе вызова.
Мои усилия:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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:background="#e91e63"
tools:context=".CallActivity">
<TextView
android:id="@+id/NumberField"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="50dp"
android:text="@string/CallerPhoneString"
android:textSize="30sp"
android:textStyle="bold"
android:layout_marginBottom="5dp"
android:gravity="center_horizontal"/>
<TextView
android:id="@+id/CallTime"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/NumberField"
android:text="@string/CallingTypeString"
android:textSize="30sp"
android:gravity="center_horizontal"/>
<LinearLayout
android:id="@+id/layout_functions"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:gravity="bottom"
android:layout_marginBottom="4dp" >
<LinearLayout
android:id="@+id/hold_join_speaker"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_horizontal"
android:baselineAligned="false"
android:layout_marginBottom="25dp" >
<LinearLayout
android:id="@+id/hold_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_weight="1">
<Button
android:id="@+id/hold_button"
style="?android:attr/buttonBarButtonStyle"
android:layout_width="80dp"
android:layout_height="80dp"
android:background="@drawable/not_on_hold"
android:layout_gravity="center" />
<TextView
android:id="@+id/hold_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hold_text_string"
android:textSize="20sp"
android:layout_gravity="center"
android:textColor="@android:color/black"/>
</LinearLayout>
<LinearLayout
android:id="@+id/join_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_weight="1">
<Button
android:id="@+id/reject_text_button"
style="?android:attr/buttonBarButtonStyle"
android:layout_width="80dp"
android:layout_height="80dp"
android:background="@drawable/join_calls"
android:layout_gravity="center" />
<TextView
android:id="@+id/reject_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/join_text_string"
android:textSize="20sp"
android:layout_gravity="center"
android:textColor="@android:color/black"/>
</LinearLayout>
<LinearLayout
android:id="@+id/speaker_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_weight="1">
<Button
android:id="@+id/speaker_button"
style="?android:attr/buttonBarButtonStyle"
android:layout_width="80dp"
android:layout_height="80dp"
android:background="@drawable/speaker_off"
android:layout_gravity="center" />
<TextView
android:id="@+id/speaker_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/speaker_text_string"
android:textSize="20sp"
android:layout_gravity="center"
android:textColor="@android:color/black"/>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/mute_sms_record"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_horizontal"
android:baselineAligned="false"
android:layout_marginBottom="70dp" >
<LinearLayout
android:id="@+id/mute_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_weight="1">
<Button
android:id="@+id/mute_button"
style="?android:attr/buttonBarButtonStyle"
android:layout_width="80dp"
android:layout_height="80dp"
android:background="@drawable/mic_on"
android:layout_gravity="center" />
<TextView
android:id="@+id/mute_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/mute_text_string"
android:textSize="20sp"
android:layout_gravity="center"
android:textColor="@android:color/black"/>
</LinearLayout>
<LinearLayout
android:id="@+id/sms_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_weight="1">
<Button
android:id="@+id/sms_button"
style="?android:attr/buttonBarButtonStyle"
android:layout_width="80dp"
android:layout_height="80dp"
android:background="@drawable/in_call_sms"
android:layout_gravity="center" />
<TextView
android:id="@+id/sms_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/sms_text_string"
android:textSize="20sp"
android:layout_gravity="center"
android:textColor="@android:color/black"/>
</LinearLayout>
<LinearLayout
android:id="@+id/record_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_weight="1">
<Button
android:id="@+id/record_button"
style="?android:attr/buttonBarButtonStyle"
android:layout_width="80dp"
android:layout_height="80dp"
android:background="@drawable/in_call_record"
android:layout_gravity="center" />
<TextView
android:id="@+id/record_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/record_text_string"
android:textSize="20sp"
android:layout_gravity="center"
android:textColor="@android:color/black"/>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/ActionLayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_horizontal"
android:layout_marginBottom="10dp" >
<com.ncorti.slidetoact.SlideToActView
android:id="@+id/slideToAnswer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
android:layout_marginBottom="10dp"
android:elevation="8dp"
app:area_margin="8dp"
app:text="Slide to answer"
app:text_color="@color/colorWhite"
app:text_size="20sp"
app:text_style="bold"
app:slider_height="90dp" />
<Button
android:id="@+id/btn_End_Call"
style="?android:attr/buttonBarButtonStyle"
android:layout_width="80dp"
android:layout_height="80dp"
android:background="@drawable/disconnect"
android:layout_gravity="center"
android:visibility="gone" />
</LinearLayout>
</LinearLayout>
Как это выглядит при работе на устройстве:
В чем проблема?
Системная область (я думаю, ящик уведомлений), где отображается сетевая башня, процент заряда батареи полностью нечитаемый из-за белого цвета, как я могу оставить его по умолчанию или изменить его на какой-то правильный цвет, который позволит пользователям легко читать вещи в системном ящике.
Заранее спасибо, и любая помощь приветствуется.
Редактировать 2: (по запросу)
Используемая тема - AppTheme.NoActionBar
Эта тема упоминается в манифесте:
<activity
android:name=".CallActivity"
android:autoRemoveFromRecents="true"
android:label="@string/title_activity_call"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter android:priority="800">
<action android:name="android.intent.action.ACTION_CALL" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
</activity>
и мои стили тем. 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>
Спасибо.
Редактировать 3: (пробовал предложение):
Я отредактировал стили следующим образом:
<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>
<item name="android:statusBarColor">@color/colorBlue</item>
</style>
<style name="AppTheme.AppBarOverlay"
parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="AppTheme.PopupOverlay"
parent="ThemeOverlay.AppCompat.Light" />
</resources>
- Добавил атрибут
android:statusBarColor
к зеленому - Сохранил и запустил его на устройстве, которое не работал.
- Недействительные кэши и перезапуск Android Studio
- Обновлена версия приложения из build.gradle, так что устройство будет искать новые изменения вместо использования кэшей в предыдущей версии
- Все еще не изменил цвет строки состояния на синий
Редактировать: 4 (Что еще я пробовал)
Он изменял цвет программно с помощью
this.getWindow().setStatusBarColor(ContextCompat.getColor(this, R.color.colorBlue));
Тем не менее, я хочу изменить его стили.
Редактировать 5: (при успехе)
v21 / Styles. xml имел цвет по умолчанию, который создавал вопрос. Как предложил и ответил @Md. Asaduzzaman Изменение этого файла стилей в перкулярном порядке решило проблему следующим образом:
<item name="android:statusBarColor">@android:color/black</item>
Теперь эта тема прекрасна и имеет 3 ответа
- Программно через действие
- Изменяя стили для версий выше v21 и v21
- Используя
BarUtils
тоже