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

    Apa Sih Itu Svelte Js? Bagaimana Cara Menjalankannya? Yuks Simak Pembahasan Berikut Ini

    (Sumber : Website https://svelte.dev/)   Hallo Sahabat Coders, Semoga kita semua selalu diberikan Kesehatan dan keberlimpahan dalam pekerjaan atau usaha kita. Perkembangan dunia pemrograman semakin hari semakin menjadi-jadi. Banyak Bahasa pemrograman maupun framework baru bermunculan akhir-akhir ini. Terutama framework JavaScript yang yang banyak bermunculan. Dan semuanya sangat menarik untuk dicoba.  Framework JavaScript yang terkenal saat ini contohnya Angular JS, Vue JS, React JS dan lain sebagainya dan mungkin banyak orang sudah tahu tentang framework- framework ini. Namun, akhir-akhir ini, ada framework yang baru terkenal yaitu Svelte JS (Website : https://svelte.dev/ ). Framework ini Admin tahu dari seorang JavaScript Developer terkenal di Indonesia yaitu Mas Riza Fahmi ( Curriculum Director di Hacktiv8 Indonesia ). Svelte Js merupakan sebuah framework JavaScript untuk menulis komponen antarmuka ( user interface) yang dibuat oleh Rich Harris . Namun menurut penulisn...

    Mengenal Apa itu Android Studio

    Android Studio merupakan tools IDE ( Integrated Development Environment ) yang digunakan untuk membuat aplikasi android. Fungsi utamanya adalah sebagai editor yang menyediakan berbagai kebutuhan dalam membangun aplikasi android seperti widget, library, dll. Android Studio versi terbaru telah mendukung 2 bahasa pemrograman yaitu Java dan Kotlin. Sebelumnya hanya mendukung bahasa Java. Android Studio hadir sebagai pengganti Eclipse ADT ( Android Development Tools ) yaitu tools utama sebelumnya. Tools Android Studio ini dibangun di atas aplikasi yang sudah populer sebagai editor programer yaitu JetBrains IntelliJ IDE. Selain itu Android Studio di lengkapi dengan Emulator sendiri. Sama halnya seperti Eclipse, Android Studio juga memerlukan SDK ( Software Development Kit ) untuk membangun aplikasi android. Bedanya Android Studio didukung penuh oleh Google sebagai pengembangnya serta menggunakan grandle dalam melakukan build. Baca juga : Perbedaan Membuat Aplikasi Android Menggunakan Ecli...

    Cara Membuat Project Baru dengan Ruby on Rails

        Pada postingan sebelumnya Mengenal dan Menginstall Ruby on Rails kita telah menginstall bahan-bahan yang diperlukan untuk menjalankan Rails atau Ruby on Rails. Tentunya membuat project baru adalah langkah yang perlu di ketahui sebagai dasar membuat web menggunakan Rails ini. Membuat Project baru di Rails Sebagai contoh disini kita akan membuat project baru bernama " hello_world ". Cara membuatnya sangat mudah anda tinggal buka CMD dengan menekan Windows + R kemudian ketikkan CMD. Setelah CMD terbuka, arahkan ke folder tempat anda ingin menyimpan file Rails anda. Disini saya mengarahkannya pada "E:\ruby_on_rails", anda bisa menentukan sesuka hati tempat penyimpanannya. Untuk mengarahkan ketikkan perintah " cd E: " kemudian masuk ke folder " cd ruby_on_rails ", seperti pada gambar.     Setelah berada di folder atau directory yang di inginkan, ketikkan perintah rails new hello_world . Intruksi tersebut mengisyaratkan untuk membuat project ba...