دوست عزیز شما میتونید طبق لینک هایی که ادمین داده به راحتی عمل کنید اما اگه بخوایم ساده تر توضیح بدیم
اول باید یه دیگالوگ تعریف کنید به این صورت :
کد:
final Dialog dialog= new Dialog(Activity.this ) ;
این کد هم برای خوندن xml سفارشی شده
کد:
dialog.setContentView(R.layout.dialog);
برای حذف titel از این کد استفاده میشه
کد:
dl_img.getWindow();
dl_img.requestWindowFeature(Window.FEATURE_NO_TITLE);
بعد یه فایل xml ، برای دیالوگ سفارشی شده در res میسازیم برای مثال :
کد:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/bgdialog"
android:orientation="vertical" >
<Button
android:id="@+id/btncancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/etsearch"
android:layout_below="@+id/etsearch"
android:layout_marginRight="24dp"
android:text=" Cancel " />
</RelativeLayout>
حالا برای نمایش از این کد :
و برای عدم نمایش از این کد :
کد:
dialog.dismiss();
//یا
dialog.cancel();
با سلام
دوست عزیز می شه در مورد این خط بیشتر توضیح بدید
کد:
dl_img.getWindow();
dl_img.requestWindowFeature(Window.FEATURE_NO_TITLE);
dl_img چی هست و کارش چیه؟
با تشکر
سلام
اینجا شما به جای dl_img از dialog استفاده کنید
کد:
final Dialog dialog= new Dialog(Activity.this ) ;
از اینجا یه دیالوگ با نشانه ی dialog یا هر چیز دلخواهی تعریف میکنیم و برای حذف تایتل نمایش یا عدم نمایش و ... استفاده میکنیم
امیدوارم متوجه منظورم شده باشید
دوست عزیز قبلا هم از این استفاده کرده بودم منتها خطای force close میده
کد پیاچپی:
dialog.getWindow();
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
ولی بازم خطا داره!!!!
شما اگه مشکل و متوجه شدید ممنون می شم بگید
خب شما فایل xml ساختید اصن ؟
بعد هر جا خواستید دکمه های یه دیالوگ رو تعریف کنید باید طبق دیالوگ و اکتیویتی تعریف کنید مثلا شما میخوایید داخل اکتیویتی که هستید یه دکمه داخل یه دیالوگ رو تعریف کنید باید به این صورت تعریفش کنید (احتمالا مشکلتون از اینجا بوده ) :
کد:
Button btn = (Button) dialog.findViewById (R.id.btn);
btn ما در اینجا در یه فایل xml دیگس فقط قبلش باید دیالوگمون رو تعریف کنیم که بتونه پیدا کنه
امیدوارم منظورمو فهمیده باشید
برای راهنمایی بیشتر ارورتون رو هم بفرستید تا بیشتر کمکتون کنم
دوست عزیز کل کدو میذارم براتون تا بهتر متوجه مشکل شوید
در ضمن فایل xml تعریف شده!!
کد پیاچپی:
final Dialog dialog = new Dialog(MainActivity.this);
dialog.setContentView(R.layout.dialogboxcustom);
dialog.setTitle("خروج از برنامه");
// set the custom dialog components - text, image and button
TextView text = (TextView) dialog.findViewById(R.id.text);
text.setText("آیا می خواهید از برنامه خارج شوید؟");
[color=#FF0000]dialog.getWindow();
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);[/color]
Button Ok_btn = (Button) dialog.findViewById(R.id.dialogButtonOK);
// if button is clicked, close the custom dialog
Ok_btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
Button No_btn = (Button) dialog.findViewById(R.id.dialogButtonNO);
// if button is clicked, close the custom dialog
No_btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
}
});
dialog.show();
}
در قسمتی که مشخص کرده ام عینا کد شما را نوشته ام اما force close میدهد!!!
دوست عزیز اگه اون خطی رو که مشخص کردید قبل از تعریف صفحه یعنی خط :
کد:
dialog.setContentView(R.layout.dialogboxcustom);
بزارید و این قسمت رو هم حذف کنید : مشکلتون درست میشه
کد:
text.setText("آیا می خواهید از برنامه خارج شوید؟");
شما در اینجا به دیالوگ گفتید اینو به عنوان تایتل در نظر بگیره در صورتی که ما تایتلمون رو میخواییم حذف کنیم .
پس کدتون به این شکل تغییر پیدا میکنه :
کد:
final Dialog dialog = new Dialog(MainActivity.this);
dialog.getWindow();
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.dialogboxcustom);
// set the custom dialog components - text, image and button
TextView text = (TextView) dialog.findViewById(R.id.text);
text.setText("آیا می خواهید از برنامه خارج شوید؟");
Button Ok_btn = (Button) dialog.findViewById(R.id.dialogButtonOK);
// if button is clicked, close the custom dialog
Ok_btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
Button No_btn = (Button) dialog.findViewById(R.id.dialogButtonNO);
// if button is clicked, close the custom dialog
No_btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
}
});
dialog.show();
}
موفق باشید
علی اصغر عزیز ممنون از توجهت
سپاس