Hi Dev, mula-mula saya belajar membuat UI aplikasi Android menggunakan xml, dan sejauh ini saya sudah berusaha dengan hasil yang tidak terlalu signifikan, sebagai gambaran, berikut adalah bagaimana upaya saya sejauh ini.
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:background="@xml/rounded_rect_shape"
android:orientation="vertical"
android:padding="10dp">
<-- My buttons, textviews, Imageviews go here -->
</LinearLayout>
Saya juga sudah membuat sebuah shape drawable untuk manipulasi komponen LinearLayout agar tampak memiliki bayangan, berikut upaya saya sejauh ini.
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<solid android:color="#ffffff" />
<corners
android:bottomLeftRadius="3dp"
android:bottomRightRadius="3dp"
android:topLeftRadius="3dp"
android:topRightRadius="3dp" />
</shape>
Disebutkan dalam forum bahwa ternyata untuk mencapai hasil seperti itu terdapat beberapa cara, diantaranya adalah;
- Menambahkan warna grey LinearLayout (anggaplah ini sebagai lapisan bungkus luar), lalu di dalamnya ada LinearLayout Lagi sebagai lapisan bungkus dalam, nah pada lapisan bungkus dalam ini silakan buat margin-bottom dan margin-end dengan nilai yang sama, mungkin sekitar 2 atau 3dp, silakan sesuaikan dengan selera Anda.
- Cara lainnya adalah dengan shape di package drawable, sebagaimana upaya yang telah saya lakukan sebelumnya (seperti di atas), hanya saja, kali ini saya sedikit mengkoreksi hasil pekerjaan saya dulu saat masih newbie, kira-kira seperti ini harusnya.
Katakanlah nama filenya adalah background_with_shadow.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item >
<shape
android:shape="rectangle">
<solid android:color="@android:color/darker_gray" />
<corners android:radius="5dp"/>
</shape>
</item>
<item android:right="1dp" android:left="1dp" android:bottom="2dp">
<shape
android:shape="rectangle">
<solid android:color="@android:color/white"/>
<corners android:radius="5dp"/>
</shape>
</item>
</layer-list>
Kemudian implementasikan pada layout yang Anda maksud, kira-kira seperti ini.
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/background_with_shadow"/>