React Native Notification Tray and AppBar color - reactjs

I am using react-native-paper along with react-navigation and the notification tray background color is not a darker shade of the AppBar color as shown in the documentations of react-native-paper and I cannot figure a way out to do that.
I have a basic project implemented and the snack of it can be seen in the following link:
https://snack.expo.dev/#throwawayacc/grumpy-milkshake
Expected Output:
Current Output
As it can be seen above the notification tray color is the same as the AppBar color. How do I get it to work like the expected output. You can see the current implementation on the link above.

You can use this https://reactnative.dev/docs/statusbar#backgroundcolor-android to change the status bar to a different color.
Just import the StatusBar from react-native. And put this code in your screens components like this. e.g.
// codes...
function HomeScreen(props) {
return (
<View style={style.container}>
<StatusBar
animated={true}
backgroundColor="#3B008F"
/>
<Text>Home Screen</Text>
// codes...

Related

How to properly implement the statusbar in the components using React Native

I have task where I need to change the statusbar from white and make the content dark. Now I search how the statusbar implement to the component. Yes it works properly. Later on I experience bugs where If I re render the entire application I mean when I re open the application again. the status bar that I change it turns to the original color which is blue. so to make more details I will show you the code that I implement and the screenshot of my application that I created.
Here is some research that I read:
Reference
I don't think there is any conflict between react-navigation and the StatusBar, but I think you should use the component rather than the imperative API. There's a high chance this is due to a re-render of your app and it just switch back to the default, with a component declare, you ensure it won't happen.
Goal: To make the statusbar won't change to blue if I re open the application again.
Here is what I implement on my application:
React Navigation 5 (For Navigation)
Native Base
Statusbar:
<StatusBar hidden={false} animated barStyle="dark-content" backgroundColor="#FFFF" />
Bug Status Bar:
Goal Status Bar:
Code Works might only for the android device as we have to manage the safeAreaView in iOS device
Check out the below code example to show the custom status bar color.
<View style={{ flex: 1 }} >
<StatusBar animated backgroundColor="pink" barStyle="dark-content" />
<View style={{ flex: 1, backgroundColor: "green" }} >
</View>
</View>
Might you will be able to see the status bar color pink and dark content into it and whole screen with green color.

DateTimePicker - set background color IOS

Im trying to use a DateTimePicker from the library '#react-native-community/datetimepicker' from within Expo - however I can't seem to change the background color from the light grey as pictured. Is it possible to do so on IoS ?
Yes. You can use the style prop, as can be seen in the documentation.
Something like so I would think:
<RNDateTimePicker style={{backgroundColor: "blue"}} />

How do you distinguish between FontAwesome's circles?

I am rendering an icon in my React Native app, and have to specify the checked/unchecked icon type. I am reading the list of FontAwesome icons here: https://fontawesome.com/icons?d=gallery&q=circle
There are many different circle icons called "circle". When I specify "circle" as the icon type in my app, it uses the filled circle by default, but I want to use the outline circle. Does anyone know how to do this? Specifically, I am rendering a <CheckBox> component and specifying the uncheckedType field.
I’d recommend using react-native-vector-icons which includes FontAwesome. Check out the directory of all the icon packs here.
That all have unique names, so the code would look something like this:
import Icon from 'react-native-vector-icons/FontAwesome';
const checked = <Icon name="circle" size={30} color="#900" />;
const unchecked = <Icon name=“circle-o” size={30} color={#900} />;
This will make it really easy to quickly add all kinds of icons into your app!

react native navigation statusbar background color

I am trying out react native navigation(v2) for my app, and I can't get it to change the background color of my statusbar.
I am able to change the background color of my topBar, but that doesn't affect the statusbar background color. In iOS statusbar color automatically takes the same color as the tintcolor given to the top bar, how do I replicate the same here?
You can use the Statusbar api directly from react-native to your Parent App level Component
To set the StatusBar to translucent you can pass it as a prop as mentioned here and change the backgroundColor according to your needs as
<StatusBar translucent backgroundColor={'#fff'}/>

How to have linear gradient background on all screens in React Native

I have an app written in React Native. I would like to have a gradient background in all screens. Maybe something like:
I have found the react-native-linear-gradient package, but would I get higher performance using an image?
Also, how do I make sure it stays as a background on all pages?
Would it be something like
const Container = (props) => (
<View>
<LinearGradient colors=['blue', 'orange', 'blue'] />
{props.children}
</View>
);
and then on all my screens use
<Container>
..
</Container>
You can try to create gradient image in some graphical editors which allow you to set linear gradient from top(blue) to bottom(transparent), and place this image as background all your scenes. Its can be helpful.
But if you need to cange colors of your gradient dynamically, you need to use libraries for now.

Resources