Assalamualaikum
Oh hai sahabat blogger, kita akan melanjutkan pengenalan LAYOUTING pada Android Studio Part 2. Oke bagi sahabat blogger yang belum tahu apa itu layout? bisa di klik DISINI!!. Di part 1 kita sudah membahas tentang beberapa jenis layout yaitu LinearLayout, RelativeLayout, TableLayout, dan AbsoluteLayout. Kalau di Pengenalan Layouting Part 2 ini kita akan bahas dua layout yaitu :
1. FrameLayout
FrameLayout adalah layout yang bisa berisi satu atau lebih View child, dan saling tumpang tindih satu sama lainnya. FrameLayout ini termasuk layout sederhana, oleh karena itu atribut android:layout_gravity digunakan untuk menemukan ViewChild.
Untuk membuat FrameLayout kita perlu menambahkan tag <FrameLayout> dan diakhiri dengan tag </FrameLayout> pada layout.xml atau main_activity.xml , contoh dengan kode seperti berikut:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
</FrameLayout>
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<Button
android:id="@+id/button1"
android:layout_width="350dp"
android:layout_height="400dp"
android:text="Button 1"/>
<Button
android:id="@+id/button2"
android:layout_width="140dp"
android:layout_height="200dp"
android:text="Button 2"/>
</FrameLayout>
1) Kita kembali membuat App menggunakan FrameLayout ke-2, buka IDE Android Studio lalu new project dengan nama file: FrameLayout2 seperti gambar dibawah.
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="11dp">
<TextView android:text="LeftTop"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="RightTop"
android:layout_gravity="top|right"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CentreTop"
android:layout_gravity="top|center_horizontal"/>
<TextView android:text="Left"
android:layout_gravity="left|center_vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Right"
android:layout_gravity="right|center_vertical"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Centre"
android:layout_gravity="center"/>
<TextView android:text="LeftBottom"
android:layout_gravity="left|bottom"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="RightBottom"
android:layout_gravity="right|bottom"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CenterBottom"
android:layout_gravity="center|bottom"/>
</FrameLayout>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/daftarMHS"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
android:gravity="center"
android:background="@color/colorPrimary"
android:textStyle="bold"
android:textSize="20sp"
android:text="Kabupaten di Jawa Barat"/>
<ListView
android:layout_below="@id/daftarMHS"
android:id="@+id/listKabupaten"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</RelativeLayout>
package ryeyen08.blogspot.listviewcustom;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String[] Kabupaten ={"Kabupaten Bandung", "Kabupaten Bandung Barat", "Kabupaten Bekasi","Kabupaten Bogor", "Kabupaten Ciamis", "Kabupaten Cianjur","Kabupaten Cirebon", "Kabupaten Garut", "Kabupaten Indramayu","Kabupaten Karawang","Kabupaten Kuningan","Kabupaten Majalengka", "Kabupaten Pangandaran","Kabupaten Purwakarta","Kabupaten Subang","Kabupaten Sukabumi","Kabupaten Sumedang","Kabupaten Tasikmalaya"};
ListView daftar = findViewById(R.id.listKabupaten);
ArrayAdapter<String> adapter = new ArrayAdapter<>( this, android.R.layout.simple_list_item_1, Kabupaten);
daftar.setAdapter(adapter);
daftar.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int posisi, long l) {
switch (posisi) {
case 0:
Toast t = Toast.makeText(MainActivity.this, "Kabupaten Bandung daerah yang dipimpin oleh bupati Dadang M.Nasser, pusat pemerintahan di Soreang "+ " dan memiliki 32 Kecamatan ", Toast.LENGTH_SHORT);
t.setGravity(Gravity.CENTER, 0, 0);
t.show();
break;
case 1:
Toast t1 = Toast.makeText(MainActivity.this, "Kabupaten Bandung Barat daerah yang dipimpin oleh bupati Henky Kurniawan, pusat pemerintahan di Ngamprah "+ " dan memiliki 16 Kecamatan ", Toast.LENGTH_SHORT);
t1.setGravity(Gravity.CENTER, 0, 0);
t1.show();
break;
case 2:
Toast t2 = Toast.makeText(MainActivity.this, "Kabupaten Bekasi daerah yang dipimpin oleh bupati Eka Supriatmaja, pusat pemerintahan di Cikarang pusat "+ " dan memiliki 32 Kecamatan ", Toast.LENGTH_SHORT);
t2.setGravity(Gravity.CENTER, 0, 0);
t2.show();
break;
case 3:
Toast t3 = Toast.makeText(MainActivity.this, "Kabupaten Bogor daerah yang dipimpin oleh bupati Ade Munawaroh Yasin, pusat pemerintahan di Cibinong"+ " dan memiliki 40 Kecamatan ", Toast.LENGTH_SHORT);
t3.setGravity(Gravity.CENTER, 0, 0);
t3.show();
break;
case 4:
Toast t4 = Toast.makeText(MainActivity.this, "Kabupaten Ciamis daerah yang dipimpin oleh bupati Herdiat Sunarya, pusat pemerintahan di Ciamis"+ " dan memiliki 27 Kecamatan ", Toast.LENGTH_SHORT);
t4.setGravity(Gravity.CENTER, 0, 0);
t4.show();
break;
case 5:
Toast t5 = Toast.makeText(MainActivity.this, "Kabupaten Cianjur daerah yang dipimpin oleh bupati Herman Suherman, pusat pemerintahan di Cianjur"+ " dan memiliki 32 Kecamatan ", Toast.LENGTH_SHORT);
t5.setGravity(Gravity.CENTER, 0, 0);
t5.show();
break;
case 6:
Toast t6 = Toast.makeText(MainActivity.this, "Kabupaten Cirebon daerah yang dipimpin oleh bupati Imron Rosyadi, pusat pemerintahan di Sumber"+ " dan memiliki 40 Kecamatan ", Toast.LENGTH_SHORT);
t6.setGravity(Gravity.CENTER, 0, 0);
t6.show();
break;
case 7:
Toast t7 = Toast.makeText(MainActivity.this, "Kabupaten Garut daerah yang dipimpin oleh bupati Rudi Gunawan, pusat pemerintahan di Tarogong Kidul"+ " dan memiliki 42 Kecamatan ", Toast.LENGTH_SHORT);
t7.setGravity(Gravity.CENTER, 0, 0);
t7.show();
break;
case 8:
Toast t8 = Toast.makeText(MainActivity.this, "Kabupaten Indramayu daerah yang dipimpin oleh bupati Nina Agustina, pusat pemerintahan di Indramayu"+ " dan memiliki 31 Kecamatan ", Toast.LENGTH_SHORT);
t8.setGravity(Gravity.CENTER, 0, 0);
t8.show();
break;
case 9:
Toast t9 = Toast.makeText(MainActivity.this, "Kabupaten Karawang daerah yang dipimpin oleh bupati Cellica Nurrachadiana, pusat pemerintahan di Karawang Barat"+ " dan memiliki 30 Kecamatan ", Toast.LENGTH_SHORT);
t9.setGravity(Gravity.CENTER, 0, 0);
t9.show();
break;
case 10:
Toast t10 = Toast.makeText(MainActivity.this, "Kabupaten Kuningan daerah yang dipimpin oleh bupati Acep Purnama, pusat pemerintahan di Kuningan"+ " dan memiliki 32 Kecamatan ", Toast.LENGTH_SHORT);
t10.setGravity(Gravity.CENTER, 0, 0);
t10.show();
break;
case 11:
Toast t11 = Toast.makeText(MainActivity.this, "Kabupaten Majalengka daerah yang dipimpin oleh bupati Karna Sobahi, pusat pemerintahan di Majalengka"+ " dan memiliki 26 Kecamatan ", Toast.LENGTH_SHORT);
t11.setGravity(Gravity.CENTER, 0, 0);
t11.show();
break;
case 12:
Toast t12 = Toast.makeText(MainActivity.this, "Kabupaten Pangandaran daerah yang dipimpin oleh bupati Jeje Wiradinata, pusat pemerintahan di Parigi"+ " dan memiliki 10 Kecamatan ", Toast.LENGTH_SHORT);
t12.setGravity(Gravity.CENTER, 0, 0);
t12.show();
break;
case 13:
Toast t13 = Toast.makeText(MainActivity.this, "Kabupaten Purwakarta daerah yang dipimpin oleh bupati Anne Ratna Mustika, pusat pemerintahan di Purwakarta"+ " dan memiliki 17 Kecamatan ", Toast.LENGTH_SHORT);
t13.setGravity(Gravity.CENTER, 0, 0);
t13.show();
break;
case 14:
Toast t14 = Toast.makeText(MainActivity.this, "Kabupaten Subang daerah yang dipimpin oleh bupati Ruhimat, pusat pemerintahan di Subang"+ " dan memiliki 30 Kecamatan ", Toast.LENGTH_SHORT);
t14.setGravity(Gravity.CENTER, 0, 0);
t14.show();
break;
case 15:
Toast t15 = Toast.makeText(MainActivity.this, "Kabupaten Sukabumi daerah yang dipimpin oleh bupati Marwan Hamami, pusat pemerintahan di Palabuhanratu"+ " dan memiliki 47 Kecamatan ", Toast.LENGTH_SHORT);
t15.setGravity(Gravity.CENTER, 0, 0);
t15.show();
break;
case 16:
Toast t16 = Toast.makeText(MainActivity.this, "Kabupaten Sumedang daerah yang dipimpin oleh bupati Dony Ahmad Munir, pusat pemerintahan di Sumedang Utara"+ " dan memiliki 26 Kecamatan ", Toast.LENGTH_SHORT);
t16.setGravity(Gravity.CENTER, 0, 0);
t16.show();
break;
case 17:
Toast t17 = Toast.makeText(MainActivity.this, "Kabupaten Tasikmalaya daerah yang dipimpin oleh bupati Ade Sugianto, pusat pemerintahan di Singaparna"+ " dan memiliki 39 Kecamatan ", Toast.LENGTH_SHORT);
t17.setGravity(Gravity.CENTER, 0, 0);
t17.show();
break;
}
}
});
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/menu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="0dp"
android:layout_marginBottom="10dp"
android:gravity="center"
android:background="#ffc107"
android:textStyle="bold"
android:textSize="25sp"
android:text="Paket RahmaWedding.com" />
<ListView
android:id="@+id/id_list"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:padding="8dp">
<ImageView
android:id="@+id/item_icon"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_marginRight="8dp"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/item_nama"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Galaxy S4"
android:textSize="18sp"/>
<TextView
android:id="@+id/item_keterangan"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Samsung"
android:textSize="12sp"/>
</LinearLayout>
</LinearLayout>
package ryeyen08.blogspot.com.costumlistviewkomplekk;
public class Paket {
public String name;
public String brand;
public int Image;
public Paket (String name, String brand, int image){
setName(name);
setBrand(brand);
setImage(image);
}
public int getImage(){
return this.Image;
}
public void setImage(int image) {
this.Image = image;
}
public String getName(){
return name;
}
public void setName(String name) {
this.name = name;
}
public String getBrand(){
return brand;
}
public void setBrand(String brand) {
this.brand = brand;
}
}
package ryeyen08.blogspot.com.costumlistviewkomplekk;
import java.util.ArrayList;
import android.app.Activity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import java.util.ArrayList;
public class ListAdapter extends ArrayAdapter {
private ArrayList<Paket> listPaket;
private Activity act;
public ListAdapter(Activity context, ArrayList<Paket> objects) {
super(context, R.layout.item, objects);
this.listPaket = objects;
this.act = context;
}
static class ViewHolder{
protected ImageView icon;
protected TextView nama;
private TextView keterangan;
}
@Override
public View getView(int position, View convertView, ViewGroup parent){
View view = convertView;
if (view == null) {
LayoutInflater inflater = act.getLayoutInflater();
view = inflater.inflate(R.layout.item, null);
ViewHolder holder = new ViewHolder();
holder.icon=(ImageView) view.findViewById(R.id.item_icon);
holder.nama=(TextView) view.findViewById(R.id.item_nama);
holder.keterangan=(TextView) view.findViewById(R.id.item_keterangan);
view.setTag(holder);
}
ViewHolder holder = (ViewHolder) view.getTag();
Paket phone = listPaket.get(position);
holder.icon.setImageResource(phone.getImage());
holder.nama.setText(phone.getName());
holder.keterangan.setText(phone.getBrand());
return view;
}
}
package ryeyen08.blogspot.com.costumlistviewkomplekk;
import androidx.appcompat.app.AppCompatActivity;
import java.util.ArrayList;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout);
ArrayList<Paket> list = new ArrayList<Paket>();
list.add(new Paket("Paket Home", "Dekorasi, Rias Make-up, Dokumentasi, Kesenian, Kue Pengantin, Wedding Organizer", R.drawable.pakethome));
list.add(new Paket("Paket Gedung", "Catering, Dekorasi, Rias Make-up, Dokumentasi, Kesenian,Hiburan, MC, Kue Pengantin dan Wedding Organizer", R.drawable.paketgedung));
list.add(new Paket("Paket Tunangan", "Dekorasi, Rias Make-up, Dokumentasi", R.drawable.pakettunangan));
list.add(new Paket("Paket Makeup & Gaun", "Make-up dan Touch Make-up Resepsi, Gaun Pengantin Akad 1 dan Gaun Modern 2, Rias 2 Pagar Ayu", R.drawable.paketmakeup));
list.add(new Paket("Paket Dekorasi", "Pelaminan 8-10 M, PhotoBooth, Dekorasi Area Catering, Dekorasi Area VIP dan Area Pengantin, Meja Akad", R.drawable.paketdekorasi));
list.add(new Paket("Paket Hiburan", "1 set band, 1 set gamelan, sound 3000 watt", R.drawable.pakethiburan));
list.add(new Paket("Paket Catering", "Paket Catering Boots, Free 1 Dessert, kue pengantin", R.drawable.paketmakanancake));
list.add(new Paket("Paket Dokumentasi", "1 Album Foto, 1 Video Akad, 1 Video Resepsi", R.drawable.paketdokumentasi));
list.add(new Paket("Paket Undangan", "300 undangan free costum, 600 undangan free souvenir", R.drawable.paketundangan));
list.add(new Paket("Bonus", "Booking 1 Paket Lengkap Bonus Berlaku", R.drawable.pakethiburan));
list.add(new Paket("Info Wedding", "Informasi Tentang Booking Hari", R.drawable.info));
ListAdapter adapter = new ListAdapter(this, list);
ListView listView = (ListView) findViewById(R.id.id_list);
listView.setAdapter(adapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(MainActivity.this, "Maaf Paket Sudah Full.!!", Toast.LENGTH_SHORT).show();
}
});
}
}
0 comments:
Posting Komentar