Please tell me, I have an application that uses a webView in full screen. As of android 10, the navigation bar started to overlap my webView:
By putting <item name="android:windowTranslucentNavigation">true</item>, the navigation bar stopped overlapping the webView, but I would like to make it black and but not transparent. How can I implement this? Perhaps I can do something differently so that the navigation bar does not overlap the webView? I'm new to this.
My style.xml:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowBackground">#drawable/background_splashscreen</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowActionBar">true</item>
<item name="android:windowFullscreen">true</item>
<item name="android:windowContentOverlay">#null</item>
<item name="android:windowTranslucentNavigation">true</item>
<item name="android:fitsSystemWindows">true</item>
<item name="android:navigationBarColor">#color/black</item>
</style>
Thanks in advance.
Related
I'm currently working on creating a custom theme for a datePicker and I'm having some difficulty with setting the headerBackground and the circle around the selected date separately. I've set my theme up like this:
<style name="State0DatePickerTheme" parent="AppTheme">
<item name="colorAccent">#color/state0Dark</item>
<item name="android:headerBackground">#color/state0Primary</item>
</style>
App theme looks like this:
<style name="AppTheme" parent="State0BaseTheme">
<item name="colorPrimary">#color/state0Primary</item>
<item name="colorPrimaryDark">#color/state0Dark</item>
<item name="android:statusBarColor">#color/state0Primary</item>
<item name="android:colorControlNormal">#color/colorAccent</item>
<item name="android:background">#color/state0Primary</item>
<item name="android:textColorPrimary">#color/colorAccent</item>
</style>
And last but not least, State0BaseTheme looks like this:
<style name="State0BaseTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">#color/state0Primary</item>
<item name="colorPrimaryDark">#color/state0Dark</item>
<item name="colorAccent">#color/colorAccent</item>
<item name="android:statusBarColor">#color/state0Primary</item>
<item name="android:colorControlNormal">#color/colorAccent</item>
<item name="android:background">#color/state0Primary</item>
<item name="android:textColorPrimary">#color/colorAccent</item>
</style>
I had thought that overriding colorAccent, and setting headerBackground would work just fine, but I guess not? Here's what it looks like with all these styles:
If I set android:headerBackground in the xml of the datePicker, everything works great. However, I want to be able to change the theme for all screens of the app based on user input. Thoughts as to why this isn't working?
I read the link posted by #DasserBasyouni and found that making the parent of my datePickerTheme #android:style/Widget.Material.Light.DatePicker and setting android:datePickerStyle to #style/State0DatePickerTheme in State0BaseTheme worked perfectly
I've changed style for my action bar like that:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">#color/colorPrimary</item>
<item name="colorPrimaryDark">#color/colorPrimaryDark</item>
<item name="colorAccent">#color/colorAccent</item>
<item name="android:actionOverflowButtonStyle">#style/MyAppTheme</item>
</style>
<style name="MyAppTheme" parent="AppTheme">
<item name="android:src">#drawable/menu_white</item>
<item name="android:layout_gravity">right</item>
</style>
And icon of menu now situated on the center of action bar. How to change it to be from the right?
It was my bad.
I forgot to resize the image and it caused that kind of problem. Now I've resized image ans it looks pretty well.
So in the app I am making, I have both a dark and light theme. The light theme works fine, but the alert dialogs I have still show the background the same as the light theme. Since it is dark, the text changes to light and the user can't see anything. Is there a certain attribute I need to change?
Here is the styles.xml:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">#E53935</item>
<item name="colorPrimaryDark">#C62828</item>
<item name="android:navigationBarColor">#E53935</item>
<item name="android:colorAccent">#1565C0</item>
<item name="android:colorForeground">#color/foreground_material_light</item>
<item name="android:colorBackground">#color/background_material_light</item>
<!-- Other attributes -->
</style>
<style name="Dark" parent="#style/AppTheme" >
<item name="android:colorForeground">#color/foreground_material_dark</item>
<item name="android:colorPrimary">#color/primary_material_dark</item>
<item name="android:colorPrimaryDark">#color/primary_dark_material_dark</item>
<item name="android:colorAccent">#color/accent_material_dark</item>
<item name="android:navigationBarColor">#color/primary_material_dark</item>
<item name="android:colorBackground">#color/background_material_dark</item>
<item name="android:textColorPrimary">#android:color/primary_text_dark</item>
<item name="android:textColorPrimaryInverse">#android:color/primary_text_light</item>
<item name="android:textColorSecondary">#android:color/secondary_text_dark</item>
<item name="android:textColorSecondaryInverse">#android:color/secondary_text_light</item>
<item name="android:textColorTertiary">#android:color/tertiary_text_dark</item>
</style>
Here is what it shows up as:
Solved: You need to create your own xml like this:
<item name="alertDialogTheme">#style/DarkAlertDialog</item>
With this being your custom dialog:
<style name="DarkAlertDialog" parent="Theme.AppCompat.Dialog">
<item name="background">#color/background_material_dark</item>
</style>
Use the parent AppCompat and then use colorPrimary and colorAccent properties (without an Android prefix) to theme things.
Right now the styles are coming from a dialog subtheme and not being affected by these style definitions.
Notification bar overlays an app.
Here is the AppTheme:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="windowActionBar">false</item>
<item name="android:windowTranslucentStatus">true</item>
<item name="colorPrimary">#color/ColorPrimary</item>
<item name="colorPrimaryDark">#color/ColorPrimaryDark</item>
</style>
And the manifest:
android:theme="#style/AppTheme"
How can I fix it?
Acording to the docs:
By enabling translucent system bars, your layout will fill the area behind the system bars.
So change it value to false.
How can i apply a custom ActiobbarSherlock to my activities. I am looking for something like this this. I know the four square application uses the SherlockActionBar how can i do this?
This is my current style ...
<style name="Widget.Styled.ActionBar" parent="Widget.Sherlock.ActionBar">
<item name="android:background">#449def</item>
<item name="background">#0099CC</item>
<item name="android:titleTextStyle">#style/Theme.ActionBar.TitleTextStyle</item>
<item name="icon">#drawable/ic_launcher</item>
<item name="backgroundSplit">#drawable/gray_seprator</item>
<item name="android:displayOptions">showTitle|homeAsUp</item>
<item name="displayOptions">showTitle|homeAsUp</item>
</style>
Kind Regards