Home Flutter SelectableText in Flutter

SelectableText in Flutter

0
SelectableText in Flutter

بِسْمِ اللَّهِ الرَّحْمَنِ الرَّحِيم

Pada materi ini akan dijelaskan apa itu widget SelectableText

Widget SelectableText di Flutter digunakan untuk pengguna untuk memilih / menyalin teks pada UI sesuai dengan keinginan pengguna. Widget Teks normal yang biasa digunakan pada umunya di Flutter tidak mengizinkan fitur salin / pilih (perbedaanya dengan SelectableText pengguna bisa mengetuk dua kali pada teks, sehingga dapat memilih text apa yang ingin disalin).

1. Start a new Flutter project

2. Pilih flutter pplication

3. Konfigurasi project anda

4. Edit main.dart menjadi seperti ini

import 'package:flutter/material.dart';
import 'package:flutter/painting.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
        home: Scaffold(
      appBar: AppBar(
        backgroundColor: Colors.green,
        title: Text("SelectableText"),
      ),
      body: ListView(children: <Widget>[
        Padding(
          padding: const EdgeInsets.all(10.0),
          child: Column(
            children: [
              SelectableText(
                "Ini adalah contoh dari SelectableText bisa di copy dan juga select all "
                "Sekarang coba saja copy tulisan ini lalu paste di text field di bawah"
                    " SELAMAT MENCOBA semoga bermanfaat",
                style: TextStyle(
                  fontSize: 20,
//fontSize= unkuran pada text
                ),
                textAlign: TextAlign.justify,
//TextAlign.justify= agar menyesuaikan pada lebar
                showCursor: true,
                cursorWidth: 5,
                cursorColor: Colors.red,
                cursorRadius: Radius.circular(5),
                toolbarOptions: ToolbarOptions(copy: true, selectAll: true),
                scrollPhysics: ClampingScrollPhysics(),
              ),
              SizedBox(height: 30,),
              Padding(
                padding: const EdgeInsets.fromLTRB(18, 0, 0, 0),
                child: TextField(
                  decoration: new InputDecoration(
                    focusedBorder: OutlineInputBorder(
                      borderSide: BorderSide(color: Colors.green, width: 2.5),
                    ),
                    enabledBorder: OutlineInputBorder(
                      borderSide: BorderSide(color: Colors.green, width: 2.5),
                    ),
                    hintText: 'Paste disini',
                  ),
                  maxLines: null,
//maxLines= jika text terlalu panjang maka otomatis berbentuk line per line
                ),
              ),
            ],
          ),
        ),
      ]),
    ));
  }
}