Tutorial Jetpack Compose: Text

Tutorial Jetpack Compose: Text

#tutorial

#jetpackcompose

https://placeimg.com/640/480/any

Pada tutorial kali ini, kita akan belajar bagaimana membuat UI text pada jetpack compose.

Introduction

Teks menjadi bagian penting dari setiap UI, dan Jetpack Compose memudahkan untuk menampilkan atau menulis teks. Compose memanfaatkan Composable blok, yang berarti kita tidak perlu overwrite properti dan method atau memperluas kelas untuk memiliki desain dan logic yang dapat dikomposisikan sesuai keinginan kita.

Compose menyediakan BasicText dan BasicTextField sebagai dasar yang merupakan barebone untuk menampilkan teks dan menangani input user. Pada level yang lebih tinggi, Compose menyediakan Text dan TextField, yang dapat dikomposisi mengikuti Material Design guidelines. Disarankan untuk menggunakannya karena memiliki tampilan dan nuansa yang tepat untuk pengguna di Android, dan menyertakan opsi lain untuk menyederhanakan penyesuaiannya tanpa harus menulis banyak kode (efisiensi).

Baik langsung saja kita ke pengimplementasiannya di aplikasi.

Basic Text

Menampilkan text biasa di jetpack compose. Caranya cukup panggil composable function Text() lalu isi text diparamaternya.

@Composable
fun BasicText() {
    Text("Hello World")
}

Styling Text

Text punya banyak parameter untuk styling text, Berikut cara styling text yang paling banyak digunakan.

Membuat text bercetak tebal

Untuk membuat text bercetak tebal, kalian hanya perlu mengisi parameter fontWeight dengan FontWeight.bold.

@Composable
fun BoldText() {
    Text("Hello World", fontWeight = FontWeight.Bold)
}

Ganti warna text

Mengganti warna pada text, ada parameter color yang bisa kalian gunakan, isi parameter tersebut dengan Color Integer seperti Color(0xFF000000) atau menggunakan Color yang sudah desediakan seperti berikut

@Composable
fun ColorText() {
    Text("Hello World", color = Color.Blue)
}

Membuat text bercetak miring

Parameter fontStyle, berguna untuk mengubah style text, apakah bercetak itu normal atau italic.

@Composable
fun ItalicText(){
    Text("Hello World", fontStyle = FontStyle.Italic)
}

Mengganti ukuran font

Kalian juga bisa mengubah ukuran font dengan parameter fontSize, isi parameter tersebut dengan Extension-Function Int.sp.

@Composable
fun BigText() {
    Text("Hello World", fontSize = 30.sp)
}

Text allignment

textAlign berfungsi mengganti allignment pada text. Ada beberapa variasi dari textAlign yaitu Left (rata kiri), Right (rata kanan), Center (rata tengah), Justify, Start (rata depan), dan End (rata akhir).

fun CenterText() {
    Text("Hello World", textAlign = TextAlign.Center,
        modifier = Modifier.width(150.dp))
}

Menggunakan font dari resource

Sebelum menggunakan font pastikan font sudah didownload di res/font.

Setelah itu, buat font family nya agar mudah digunakan. Kode berikut berada di ui/theme/Type.kt.

val poppinsFamily = FontFamily(
    Font(R.font.poppins_light, FontWeight.Light),
    Font(R.font.poppins_regular, FontWeight.Normal),
    Font(R.font.poppins_italic, FontWeight.Normal, FontStyle.Italic),
    Font(R.font.poppins_medium, FontWeight.Medium),
    Font(R.font.poppins_bold, FontWeight.Bold)
)

Untuk penggunaannya setel fontFamily sesuai dengan yang sudah kalian buat sebelumnya, lalu tentukan weight atau ketebalannya sesuai keiinginan kalian.

Column {
    Text("Font Light", fontFamily = poppinsFamily, fontWeight = FontWeight.Light)
    Text("Font Normal", fontFamily = poppinsFamily, fontWeight = FontWeight.Normal)
    Text("Font Italic", fontFamily = poppinsFamily, fontWeight = FontWeight.Normal,
    fontStyle = FontStyle.Italic)
    Text("Font Medium", fontFamily = poppinsFamily, fontWeight = FontWeight.Medium)
    Text("Font Bold", fontFamily = poppinsFamily, fontWeight = FontWeight.Bold)
}

Dari kode diatas akan tampil UI seperti berikut

Kesimpulan

Nah itu dia tutorial singkat penggunaan text di jetpack compose. Kalau kalian pengen tahu lebih banyak tentang Text silahkan kunjungi halaman resminya di https://developer.android.com/jetpack/compose/text

We'll never share your email with anyone else.