【发布时间】:2020-05-01 03:19:32
【问题描述】:
我正在开发默认手机应用程序。它提供通话界面。
我的努力:
<?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>
还有我的 Theme 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>
谢谢。
编辑 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 更新了 App 版本,以便设备将寻找新的更改,而不是使用以前版本中的缓存
- 状态栏的颜色仍未更改为蓝色
编辑: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
【问题讨论】:
-
您可以添加您在
activity上应用的Theme吗? -
如果 api 级别 21 及以上,您可以使用
<item name="android:statusBarColor">@android:color/holo_red_light</item> -
您的设备 API 级别是多少?
-
否,您测试应用的设备的 API 级别。
-
检查v21,可能你在那里用过
transparentcolor
标签: android xml android-layout colors background-color