android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:layout_marginBottom="8dp"
android:text="Ini adalah tombol"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView" />
</android.support.constraint.ConstraintLayout>
Maka hasil dari kode-kode xml diatas yaitu :
Gambar 39. Preview dari Constraint Layout
C. Menggabungkan beberapa layout
Bisakah saat membuat aplikasi android kita menggabungkan beberapa layout yang ada
di android studio ?. Sangat bisa. Contohnya saat ingin membuat desain login maka kita
bisa menggunakan Relative Layout, dan Linear Layout. Atau bisa juga menggunakan
layout-layout yang lain.
Selain itu jika kita juga bisa menerapkan dua atau tiga layout yang sama saat membuat
desain aplikasi. Contohnya kita menggunakan linear layout sebanyak dua kali atau lebih.
Seperti contoh dibawah ini :
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:gravity="center"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:orientation="vertical"
android:gravity="center"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Log In"
android:gravity="center"
android:textAppearance="@style/Base.TextAppearance.AppCompat.Large
"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Email :"
android:textColor="@android:color/black"
android:textColorHint="@android:color/black"
android:background="@drawable/edittext_background"
android:padding="15dp"
android:layout_margin="10dp"
android:id="@+id/email_login"
/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Password :"
android:background="@drawable/edittext_background"
android:textColor="@android:color/black"
android:textColorHint="@android:color/black"
android:inputType="textPassword"
android:padding="15dp"
android:layout_margin="10dp"
android:id="@+id/password_login"
/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:padding="15dp"
android:background="@drawable/edittext_background"
android:textColor="@android:color/black"
android:id="@+id/btn_login"
android:textAppearance="@style/Base.TextAppearance.AppCompat.Mediu
m"
android:text="Log In"/>
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:id="@+id/forget_password"
android:padding="5dp"
android:text="Forgot Password"/>
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:id="@+id/signup_reg"
android:padding="5dp"
android:text="Don't have account ? Sign Up Here!"/>
</LinearLayout>
</ScrollView>
</LinearLayout>
dan hasil dari layout diatas yaitu :
Gambar 40.Menggunakan Linear Layout lebih dari satu kali untuk
membangun desain aplikasi login
PROJECT MEMBUAT APLIKASI PORTAL
WEBSITE SEDERHANA
Jika ingin menyediakan aplikasi web (atau hanya halaman web) sebagai bagian dari
aplikasi klien, Anda dapat melakukannya menggunakan WebView. Class WebView adalah
ekstensi class View Android yang memungkinkan Anda menampilkan halaman web sebagai
bagian dari tata letak aktivitas Anda. Class ini tidak menyertakan fitur apa pun dari browser
web yang dikembangkan sepenuhnya, seperti kontrol navigasi atau kolom URL. Semua yang
dilakukan WebView secara default adalah menampilkan halaman web.
Skenario umum ketika menggunakan WebView menjadi sangat membantu adalah saat
Anda ingin memberikan informasi di aplikasi yang mungkin perlu diperbarui, seperti perjanjian
pengguna akhir atau panduan pengguna. Dalam aplikasi Android, Anda dapat
membuat Activity yang berisi WebView, lalu menggunakannya untuk menampilkan dokumen
Anda yang dihosting secara online.
Skenario lain ketika WebView menjadi sangat membantu adalah saat aplikasi Anda
memberikan data kepada pengguna yang selalu memerlukan koneksi internet untuk mengambil
data, seperti email. Dalam kasus ini, Anda mungkin menyadari bahwa lebih mudah untuk
membuat WebView di aplikasi Android Anda yang menampilkan halaman web dengan semua
data pengguna, daripada membuat permintaan jaringan, lalu mengurai data, dan merendernya
dalam tata letak Android. Sebagai gantinya, Anda dapat merancang halaman web yang
disesuaikan untuk perangkat Android, lalu menerapkan WebView di aplikasi Android Anda
yang memuat halaman web.
Dokumen ini menunjukkan cara memulai WebView dan cara melakukan beberapa hal
tambahan, seperti menangani navigasi halaman dan mengikat JavaScript dari halaman web
Anda ke kode sisi klien di aplikasi Android Anda.
A. Menambahkan WebView ke aplikasi Anda
Untuk menambahkan WebView di aplikasi, Anda dapat menyertakan
elemen <WebView> di tata letak aktivitas, atau menetapkan seluruh jendela Aktivitas
sebagai WebView di onCreate().
Menambahkan WebView di tata letak aktivitas
Untuk menambahkan WebView ke aplikasi Anda di tata letak, tambahkan kode berikut ke
file XML tata letak aktivitas Anda:
<WebView
android:id="@+id/WebView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerHorizontal="true"/>
Untuk memuat halaman web di WebView, gunakan loadUrl(). Contoh:
val mWebView:WebView = findViewById<View>(R.id.WebView) as WebView
mWebView.loadUrl("https://www.youtube.com/")
B. Menambahkan WebView di onCreate()
Untuk menambahkan WebView ke aplikasi Anda di
metode onCreate() Mainaktivitas, gunakan logika yang mirip dengan yang berikut ini:
mWebView.canGoBack()
mWebView.setOnKeyListener(View.OnKeyListener { v, keyCode, event ->
if (keyCode == KeyEvent.KEYCODE_BACK
&& event.action == MotionEvent.ACTION_UP
&& mWebView.canGoBack()){
mWebView.goBack()
return@OnKeyListener true
}
false
})
}
Namun, sebelum berfungsi, aplikasi Anda harus memiliki akses ke Internet. Untuk
mendapatkan akses Internet, minta izin INTERNET di file Androidmanifes Anda.
Contoh:
<manifest ... >
<uses-permission android:name="android.permission.INTERNET" />
...
</manifest>
Itulah semua yang Anda butuhkan untuk dasar WebView yang menampilkan
halaman web. Selain itu, Anda dapat menyesuaikan WebView dengan mengubah hal-hal
berikut:
Mengaktifkan dukungan layar penuh dengan WebChromeClient. Class ini juga
dipanggil saat WebView memerlukan izin untuk mengubah UI aplikasi host, seperti
membuat atau menutup jendela dan mengirim dialog JavaScript kepada pengguna. Untuk
mempelajari lebih lanjut proses debug dalam konteks ini, baca Proses Debug Aplikasi
Web.
Menangani peristiwa yang memengaruhi perenderan konten, seperti error pada
pengiriman formulir atau navigasi dengan WebViewClient. Anda juga dapat
menggunakan subclass ini untuk mengintersep pemuatan URL.
C. Mengaktifkan JavaScript dengan mengubah WebSettings.
Menggunkan JavaScript untuk mengakses objek framework Android yang telah
Anda masukkan ke dalam WebView.
D. Menggunakan JavaScript di WebView
Jika halaman web yang ingin dimuat di WebView menggunakan JavaScript, Anda
harus mengaktifkan JavaScript untuk Anda. Setelah JavaScript diaktifkan, Anda juga dapat
membuat antarmuka di antara kode aplikasi dan kode JavaScript.
E. Mengaktifkan JavaScript
JavaScript dinonaktifkan di WebView secara default. Anda dapat mengaktifkannya
melalui WebSettings yang dilampirkan pada WebView. Anda dapat
mengambil WebSettings dengan getSettings(), lalu mengaktifkan JavaScript
dengan setJavaScriptEnabled().
Contoh:
val webSetting:WebSettings = mWebView.settings
webSetting.javaScriptEnabled = true
mWebView.webViewClient = WebViewClient()
WebSettings memberikan akses ke berbagai setelan lain yang mungkin berguna
bagi Anda. Misalnya, jika mengembangkan aplikasi web yang dirancang khusus
untuk WebView di aplikasi Android, Anda dapat menentukan string agen pengguna
kustom dengan setUserAgentString(), lalu mengkueri agen pengguna kustom di halaman
web Anda untuk memverifikasi bahwa klien yang meminta halaman web Anda sebenarnya
adalah aplikasi Android Anda.