Subscribe Us

Android | Membuat Close Dialog Custom Pada Aplikasi Android

Tadikan kita udah bahas tentang close dialog tapi untuk tampilan defaultnya. Sekarang kita coba kita buat dengan tampilan yang kita kehendaki, misal saya mau buat yang seperti ini.
 Langsung saja kita buat projectnya atur sedemikian rupa:
Untuk struktur filenya lihat di sini,, yang di rubah hanya si class,layout, + nambah gambar n layout di drawable,
Nah ini dia scripnya : Kita buat btn_no.xml dan btn_yes.xml untuk tombol jangan lupa lengkapi gambar"nya terlebih dahulu: btn_no.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <!-- Jika di Tekan tombol maka gambar yang muncul gambar salah1 -->
    <item  android:state_pressed="true" 
         android:drawable="@drawable/salah1"></item>
    <!-- Jika tombol tidak di tekan maka gambar yang muncul gambar benar -->
    <item  android:drawable="@drawable/salah"></item> 
</selector>
btn_yes.xml
<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <!-- Jika di Tekan tombol maka gambar yang muncul gambar benar1 -->
    <item  android:state_pressed="true" 
         android:drawable="@drawable/benar1"></item>
    <!-- Jika di tombol Tidak Tekan maka gambar yang muncul gambar benar -->
    <item  android:drawable="@drawable/benar"></item> 
</selector>
Setelah Itu Kita buat Layoutnya dulu: activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    style="@style/AppBaseTheme"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:src="@drawable/logocoretan2" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_marginBottom="200dp"
        android:text="Tekan Tombol Back Untuk Keluar" />

</LinearLayout>

dialog_exit.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    style="@style/AppBaseTheme"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:src="@drawable/logocoretan2" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_marginBottom="200dp"
        android:text="Tekan Tombol Back Untuk Keluar" />

</LinearLayout>

yang terakhir kita ubah di MainActivity.java nya
package fai.coretan.dialogclose;

import android.os.Bundle;
import android.app.Activity;
import android.app.Dialog;
import android.view.Menu;
import android.view.View;
import android.view.Window;
import android.widget.Button;


public class MainActivity extends Activity {
 Dialog exit;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
 }

 @Override
 public boolean onCreateOptionsMenu(Menu menu) {
  // Inflate the menu; this adds items to the action bar if it is present.
  getMenuInflater().inflate(R.menu.main, menu);
  return true;
 }


public void onBackPressed() {
  exit();
}

private void exit() {
 // TODO Auto-generated method stub
 exit  = new Dialog(MainActivity.this,android.R.style.Theme_Translucent);
 exit.requestWindowFeature(Window.FEATURE_NO_TITLE);
 
exit.setCancelable(false);
exit.setContentView(R.layout.dialog_exit);
Button btnclose = (Button)exit.findViewById(R.id.btnyes);
btnclose.setOnClickListener(new View.OnClickListener() {
 
 @Override
 public void onClick(View v) {
  // TODO Auto-generated method stub
 finish(); 
 }
});Button btnclose1 = (Button)exit.findViewById(R.id.btnno);
btnclose1.setOnClickListener(new View.OnClickListener() {
 
 @Override
 public void onClick(View v) {
  // TODO Auto-generated method stub
  exit.dismiss(); 
 }
});
exit.show();
}
}
Coba deh di jalankan,, Pasti pada binggung ya cari imagenya, bisa di download di sini
dan juga projectnya juga bisa di download di sini,,
Langsung 2 bagian nih yang di pelajari di post ini yang pertama buat custom close dialog dan yang kedua buton dengan image ketika di tekan tombol bisa berubah. hehe,, selamat bereksperimen,, ^_^

Post a Comment

0 Comments