Basic React Native Part 24 - React Native StatusBar

react-native Jan 20, 2020

Pada  Part 23 kita telah belajar dan mengenal Touchable jadi jika anda belum mengikuti tutorial Part 23 diharapkan anda mengikuti tutorial Part 23 terlebih dahulu. Pada Tutorial Part 24 ini kita mengenal terlebih dahulu Basic React Native StatusBar.

React Native StatusBar merupakan komponen untuk menunjukkan indikator seperti baterai, jaringan, pemberitahuan dll di React Native secara default tidak memahami StatusBar dan membuat pemandangan dari sudut kiri atas layar dan menimpa StatusBar. untuk menghindari bahwa kita perlu memberikan margin atas untuk ios dan android baik Namun karena hight of status bar dari kedua platform berbeda jadi kita perlu solusi cerdas jadi di sini adalah StatusBar yang akan membantu Anda untuk memesan ruang untuk statusbar dan Anda dapat mulai bekerja langsung.

Mengimplementasikan Pada Project React Native

Buat Project React Native

Pada Tutorial Part 2 kita telah menginstall react-native-cli kemudian kita telah belajar cara membuat project baru react native. Berikut perintah cara untuk membuat project baru react native.

react-native init namafolderproject
Buat Project Baru

Install Aplikasi Debug Ke Handphone Android

Pada Tutorial Part 4 kita telah belajar cara menginstall Aplikasi Debug ke Handphone Android, untuk tata cara yang lebih jelas bisa langsung pelajari lagi pada Tutorial Part 4 terlebih dahulu. Secara singkat perintahnya seperti berikut.

react-native run-android
Install Aplikasi Debug Ke Handphone Android

Buka File App.js Dengan Visual Studio Code

Secara default pada file App.js memiliki code yang cukup dan menghasilkan tampilkan seperti berikut ini

import React from 'react';
import {
  SafeAreaView,
  StyleSheet,
  ScrollView,
  View,
  Text,
  StatusBar,
} from 'react-native';

import {
  Header,
  LearnMoreLinks,
  Colors,
  DebugInstructions,
  ReloadInstructions,
} from 'react-native/Libraries/NewAppScreen';

const App: () => React$Node = () => {
  return (
    <>
      <StatusBar barStyle="dark-content" />
      <SafeAreaView>
        <ScrollView
          contentInsetAdjustmentBehavior="automatic"
          style={styles.scrollView}>
          <Header />
          {global.HermesInternal == null ? null : (
            <View style={styles.engine}>
              <Text style={styles.footer}>Engine: Hermes</Text>
            </View>
          )}
          <View style={styles.body}>
            <View style={styles.sectionContainer}>
              <Text style={styles.sectionTitle}>Step One</Text>
              <Text style={styles.sectionDescription}>
                Edit <Text style={styles.highlight}>App.js</Text> to change this
                screen and then come back to see your edits.
              </Text>
            </View>
            <View style={styles.sectionContainer}>
              <Text style={styles.sectionTitle}>See Your Changes</Text>
              <Text style={styles.sectionDescription}>
                <ReloadInstructions />
              </Text>
            </View>
            <View style={styles.sectionContainer}>
              <Text style={styles.sectionTitle}>Debug</Text>
              <Text style={styles.sectionDescription}>
                <DebugInstructions />
              </Text>
            </View>
            <View style={styles.sectionContainer}>
              <Text style={styles.sectionTitle}>Learn More</Text>
              <Text style={styles.sectionDescription}>
                Read the docs to discover what to do next:
              </Text>
            </View>
            <LearnMoreLinks />
          </View>
        </ScrollView>
      </SafeAreaView>
    </>
  );
};

const styles = StyleSheet.create({
  scrollView: {
    backgroundColor: Colors.lighter,
  },
  engine: {
    position: 'absolute',
    right: 0,
  },
  body: {
    backgroundColor: Colors.white,
  },
  sectionContainer: {
    marginTop: 32,
    paddingHorizontal: 24,
  },
  sectionTitle: {
    fontSize: 24,
    fontWeight: '600',
    color: Colors.black,
  },
  sectionDescription: {
    marginTop: 8,
    fontSize: 18,
    fontWeight: '400',
    color: Colors.dark,
  },
  highlight: {
    fontWeight: '700',
  },
  footer: {
    color: Colors.dark,
    fontSize: 12,
    fontWeight: '600',
    padding: 4,
    paddingRight: 12,
    textAlign: 'right',
  },
});

export default App;
Code Default App.js
Tampilan Default File App.js
Tampilan Default File App.js

Menghapus Code Default App.js

Untuk memudahkan memahami component StatusBar kita hapus semua code dafault App.js. Setelah semua code default App.js dihapus maka ikuti langkah - langkah berikut ini.

  • Import React
import React, { Component } from 'react'
import react
  • Import Component React Native Untuk Project React Native dari React Native
import { StyleSheet, View, Text ,StatusBar, Platform  } from 'react-native';
Import Component
  • Membuat Class Componet
class App extends Component {
  render() { 
    return (  );
  }
}
 
Membuat Class
  • Kemudian tambahan code berikut ini didalam return.
return (
    //Code return
      <View style={styles.MainContainer}>
       <StatusBar 
        barStyle = "dark-content"  //bisa juga dark-content, light-content and default
        hidden = {false} //To hide statusBar
        backgroundColor = "#00BCD4" //Background color of statusBar
        translucent = {false} //allowing light, but not detailed shapes
        networkActivityIndicatorVisible = {true}
        />
        <Text> Status Bar Example </Text>
      </View>
    );
Tambahkan code pada return
  • Tambahkan Style sebelum export default
//Buat Style
const styles = StyleSheet.create({
  MainContainer :{
    justifyContent: 'center',
    alignItems:'center',
    flex:1,
  }
});
  • Setelah itu export class App.
export default App
export class
  • Berikut Code lengkap nya
import React, { Component } from 'react';
import { StyleSheet, View, Text ,StatusBar, Platform  } from 'react-native';
 
export default class App extends Component {
  render() {
    return (
      <View style={styles.MainContainer}>
       <StatusBar 
        barStyle = "dark-content" // dark-content, light-content and default
        hidden = {false} //To hide statusBar
        backgroundColor = "#00BCD4" //Background color of statusBar
        translucent = {false}//allowing light, but not detailed shapes
        networkActivityIndicatorVisible = {true}
        />
        <Text> Status Bar Example </Text>
      </View>
    );
  }
}
const styles = StyleSheet.create({
  MainContainer :{
    justifyContent: 'center',
    alignItems:'center',
    flex:1,
  }
});
  • Tampilan StatusBar
Tampilan Webview
Tampilan StatusBar

Demikianlah pembahasan Tutorial Part 24 ini akan kita lanjutkan pada Tutorial Part 25.

Wandi Pratama

Saya seorang Developer Mobile menggunakan Framework React Native dan saya juga memiliki pengalaman dibidang SYS Admin