Langsung ke konten utama

Cara Membuat Pop Up View Seperti Whatsapp di Android Studio


Hai sobat Coding Rakitan, kali ini saya ingin berbagi Cara Membuat Pop Up View Seperti Whatsapp di Android Studio. Hasil dari pembuatan nantinya akan tampak seperti gambar di bawah.



Cara kerjanya, ketika button di klik maka muncul pop up. Terlebih dahulu silahkan buat project baru atau buka project lama yang sudah pernah dibuat.

Setelah project terbuka, langkah pertama adalah menyiapkan ikon vector yang nantinya akan digunakan silahkan lihat gambar dibawah. Bagi yang belum tahu cara menambah ikon vector silahkan baca Cara Menggunakan Icon Vector Asset bawahan Android Studio.



Anda bisa menyesuaikan dengan ikon yang ingin anda tampilkan. Selain ikon vector, masukkan pula gambar yang akan di uji coba pada pop up ke directory drawable. Nantinya directory drawable akan menampung gambar dan icon seperti berikut.



Langkah-langkah Membuat Pop Up View Seperti Whatsapp


  • Isi value -> colors.xml seperti kode berikut.
  • <?xml version="1.0" encoding="utf-8"?>
    <resources>
    <color name="colorPrimary">#008577</color>
    <color name="colorPrimaryDark">#00574B</color>
    <color name="colorAccent">#D81B60</color>
    <color name="transparan">#9C000000</color>
    <color name="transparan2">#81000000</color>
    <color name="hijau">#009022</color>
    <color name="biru">#0A016A</color>
    </resources>

  • Edit layout activity_main.xml dengan code seperti berikut.

  • <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout 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:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <FrameLayout
    android:id="@+id/content"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical">

    <TextView
    android:id="@+id/textView2"
    android:layout_width="300dp"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_marginBottom="20dp"
    android:gravity="center"
    android:text="Silahkan klik tombol di bawah ini untuk menampilkan pop up view"
    android:textColor="@android:color/holo_green_dark" />

    <Button
    android:id="@+id/button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:text="Pop Up" />
    </LinearLayout>

    </FrameLayout>
    </RelativeLayout>

    • Buat layout baru dengan nama pop_up_view.xml lalu copy kode dibawah ini kedalam file tersebut.

    • <?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:layout_width="match_parent"
      android:layout_height="match_parent"
      android:background="@color/transparan">

      <FrameLayout
      android:layout_width="match_parent"
      android:layout_height="match_parent">

      <LinearLayout
      android:id="@+id/ly_batal"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:orientation="vertical"></LinearLayout>

      <LinearLayout
      android:id="@+id/ly_pop_up"
      android:layout_width="310dp"
      android:layout_height="wrap_content"
      android:layout_gravity="center_horizontal|top"
      android:layout_margin="30dp"
      android:orientation="vertical">

      <LinearLayout
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:background="@android:color/white"
      android:orientation="vertical">

      <FrameLayout
      android:layout_width="match_parent"
      android:layout_height="300dp">

      <ImageView
      android:id="@+id/imageView5"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:scaleType="fitXY"
      app:srcCompat="@drawable/gambar_coba" />

      <LinearLayout
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:background="@color/transparan2"
      android:orientation="vertical"
      android:paddingLeft="5dp"
      android:paddingTop="10dp"
      android:paddingBottom="10dp">

      <TextView
      android:id="@+id/textView"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:text="Coding Rakitan"
      android:textColor="@android:color/white" />
      </LinearLayout>
      </FrameLayout>

      <LinearLayout
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:background="@android:color/white"
      android:orientation="horizontal"
      android:padding="10dp">

      <ImageView
      android:id="@+id/chat"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_weight="1"
      android:tint="@color/hijau"
      app:srcCompat="@drawable/chat"
      tools:ignore="VectorDrawableCompat" />

      <ImageView
      android:id="@+id/call"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_weight="1"
      android:tint="@color/hijau"
      app:srcCompat="@drawable/phone"
      tools:ignore="VectorDrawableCompat" />

      <ImageView
      android:id="@+id/video"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_weight="1"
      android:tint="@color/hijau"
      app:srcCompat="@drawable/video"
      tools:ignore="VectorDrawableCompat" />

      <ImageView
      android:id="@+id/info"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_weight="1"
      android:tint="@color/hijau"
      app:srcCompat="@drawable/info"
      tools:ignore="VectorDrawableCompat" />

      </LinearLayout>
      </LinearLayout>
      </LinearLayout>
      </FrameLayout>

      </LinearLayout>

    • Buat Class baru dengan nama PopUp.java. Lalu isi dengan kode di bawah ini.

    • class PopUp implements View.OnClickListener {
      private LayoutInflater inf;
      private Context context;
      private Boolean POP_BATAL = true;

      public PopUp(Context context, LayoutInflater inf) {
      this.context = context;
      this.inf = inf;
      }

      public void tampilPopUp(final FrameLayout content) {
      final View v = inf.inflate(R.layout.pop_up_view, null);
      content.addView(v);
      LinearLayout batal = v.findViewById(R.id.ly_batal);
      LinearLayout ly = v.findViewById(R.id.ly_pop_up);

      ImageView chat = v.findViewById(R.id.chat);
      ImageView call = v.findViewById(R.id.call);
      ImageView video = v.findViewById(R.id.video);
      ImageView info = v.findViewById(R.id.info);

      batal.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View vv) {
      if (POP_BATAL == true){
      Log.d("batal", "klik");
      content.removeView(v);
      }else{
      POP_BATAL = true;
      }
      }
      });
      ly.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View vv) {
      POP_BATAL = false;
      }
      });
      chat.setOnClickListener(this);

      }

      @Override
      public void onClick(View v) {
      switch (v.getId()){
      case R.id.chat:
      // aksi ketika tombol chat di klik
      Log.d("klik", "chat");
      break;
      case R.id.call:
      // aksi ketika tombol call di klik
      Log.d("klik", "call");
      break;
      case R.id.video:
      // aksi ketika tombol video di klik
      Log.d("klik", "video");
      break;
      case R.id.info:
      // aksi ketika tombol info di klik
      Log.d("klik", "info");
      break;
      }
      }
      }

    • Lanjut ke tahap menampilkan Pop Up ketika tombol button di klik. Caranya edit class MainActivity anda seperti berikut.
    • public class MainActivity extends AppCompatActivity {

      private FrameLayout content;
      private Button bt;
      private Context context;
      private LayoutInflater inf;
      private PopUp popUp;
      @Override
      protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);

      content = findViewById(R.id.content);
      bt = findViewById(R.id.button);
      context = this;
      inf = (LayoutInflater) getSystemService(this.LAYOUT_INFLATER_SERVICE);
      popUp = new PopUp(context, inf);

      bt.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View v) {
      popUp.tampilPopUp(content);
      }
      });


      }

      }

    • Terakhir silahkan jalankan dengan emulator atau USB debug untuk melihat hasilnya.

    Komentar

    Postingan populer dari blog ini

    Cara Mengatasi Blank Hitam Pada Photoshop

    Saat ini mungkin anda sedang mengalami hal yang pernah saya alami, dimana ketika mengedit gambar di Photoshop tiba-tiba screen layer project berubah menjadi hitam. Apalagi pas menambahkan atau mengedit tulisan, blank ini kerap kali muncul. Kurang lebih akan tampak seperti gambar berikut. Teman-teman jangan khawatir karena saya telah menemukan solusinya dan berhasil saya terapkan. Berikut Cara Mengatasi Blank Hitam Pada Photoshop. 1. Masuk ke menu preferences dengan menekan menu Edit -> Preferences -> Performance . 2. Pada layar Preferences klik tombol Advanced Settings 3. Pada layar Advanced Graphics Processor Settings pada pilihan Drawing Mode silahkan ganti menjadi basic kemudian klik Ok , anda akan kembali ke layar Preferences silahkan klik lagi OK . 4. Selanjutnya tutup Photoshop anda dengan klik menu File -> exit . 5. Terakhir buka kembali Photoshop dan lihat hasilnya.

    Inilah Kelebihan dan Kekurangan Ruby

    Ruby merupakan salah satu bahasa pemrograman berorientasi objek berbasis skrip yang dikembangkan oleh Yukihiro Matsumoto yaitu seorang programer asal Jepang. Untuk mengetahui lebih jauh tentang bahasa Ruby silahkan baca postingan sebelumnya : Mengenal Bahasa Pemrograman Ruby  Sesuai judul postingan kali ini kita hanya akan membahas mengenai Kelebihan serta Kekurangan Bahasa Pemrograman Ruby. Berikut beberapa point yang telah kami jabarkan. Kelebihan Bahasa Pemrograman Ruby 1. Kode sederhana  Dibandingkan dengan bahasa pemrograman lainnya, yang kebanyakan untuk menulis kode dibutuhkan sekitar 10 baris, pada Ruby hanya butuh 1 atau 2 baris. Inilah kenapa Ruby dikatakan memiliki kode yang sederhana. Karena kesederhanaan dalam kodenya, akan mengurangi jam kerja programmer. 2. Multi-platform Ruby dapat berjalan di berbagai sistem operasi seperti Mac, Windows, hingga Linux. 3. Tingkat kebebasan yang tinggi Salah satu bentuk kebebasan programer dalam menuliska kode Ruby seperti tidak...

    Mengenal Sejarah JavaScript

    Para programer berbasis web tentunya sangat ingin mengetehui lebih dalam tentang JavaScript. Hal ini tidak lepas dari fitur yang disediakan oleh JavaScript yang memudahkan dalam mengontrol, memanipulasi sebuah website. Selain itu bahasa pemrograman ini juga digunakan di hampir 90% web diseluruh dunia. Sejarah Bahasa Pemrograman JavaScript JavaScript merupakan salah satu bahasa pemrograman berbasis website yang dikembangkan oleh Netscape, sebuah perusahaan telekomunikasi yang juga mengembangkan browser Netscape Navigator. JavaScript sendiri mulai dibuat pada tahun 1995 yang mana ditangani oleh programer Netscape bernama Brendan Eich. Pada awal kemunculannya bahasa pemrograman ini bernama LiveScript. Nama ini kemudian dirubah menjadi JavaScript dikarenakan pada saat itu Java yang dirilis oleh Sun Microsystem (sekarang Oracle)sedang menjadi sorotan. Bisa dikatakan bahwa tujuan penamaan JavaScript tidak lain untuk menarik perhatian para programan pada waktu itu, jadi JavaScript tidak ada...