Ответ 1
Я только что создал настраиваемый диалог оповещений. Но его углы не закруглены.
Сначала создайте макет для него как -
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="240sp"
android:layout_height="wrap_content"
android:background="#FFFFFF"
tools:ignore="SelectableText" >
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="1sp"
tools:ignore="UselessParent" >
<TableLayout
android:id="@+id/tablelayout_dialog_title"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:stretchColumns="1" >
<TableRow
android:id="@+id/tablerow_dialog_title"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
tools:ignore="UselessParent" >
<ImageView
android:id="@+id/imageview_dialog_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/alertwhite"
android:layout_gravity="center"
android:background="#643c3a"
android:contentDescription="@string/string_todo"/>
<TextView
android:id="@+id/textview_dialog_title"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:background="#643c3a"
android:padding="10sp"
android:gravity="center_vertical"
android:textColor="#FFFFFF"
android:textSize="15sp" />
</TableRow>
</TableLayout>
<View
android:id="@+id/viewline_dialog"
android:layout_below="@+id/tablelayout_dialog_title"
android:layout_width = "wrap_content"
android:layout_height="0.25dip"
android:background="#ffffff"
android:layout_centerVertical ="true" />
<TextView
android:id="@+id/textview_dialog_text"
android:layout_below="@+id/viewline_dialog"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="8sp"
android:background="#643c3a"
android:textColor="#FFFFFF"
android:textSize="12sp" />
<View
android:id="@+id/viewline1_dialog"
android:layout_width = "wrap_content"
android:layout_height="0.5dip"
android:background="#ffffff"
android:layout_centerVertical ="true"
android:layout_below="@+id/textview_dialog_text"/>
<TableLayout
android:id="@+id/tablelayout_dialog_button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:stretchColumns="*"
android:layout_below="@+id/viewline1_dialog"
android:background="#a8a8a8" >
<TableRow
android:id="@+id/tablerow_dialog_button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
tools:ignore="UselessParent" >
<Button
android:id="@+id/button_dialog_yes"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="8sp"
android:paddingTop="5sp"
android:paddingBottom="5sp"
android:background="@drawable/roundedcornerbuttonfordialog_shape"
android:text="@string/string_yes" />
<Button
android:id="@+id/button_dialog_no"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="8sp"
android:paddingTop="5sp"
android:paddingBottom="5sp"
android:background="@drawable/roundedcornerbuttonfordialog_shape"
android:text="@string/string_no" />
</TableRow>
</TableLayout>
</RelativeLayout>
Теперь напишите код диалога как -
public static void callAlert(String message, final Context context){
final Dialog dialog = new Dialog(context);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.customdialog_layout);
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.WHITE));
TextView tvTitle = (TextView) dialog.findViewById(R.id.textview_dialog_title);
tvTitle.setText("MyApp..");
TextView tvText = (TextView) dialog.findViewById(R.id.textview_dialog_text);
tvText.setText(message);
Button buttonDialogYes = (Button) dialog.findViewById(R.id.button_dialog_yes);
buttonDialogYes.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// Do your stuff...
dialog.dismiss();
}
});
Button buttonDialogNo = (Button) dialog.findViewById(R.id.button_dialog_no);
buttonDialogNo.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// Do your stuff...
dialog.dismiss();
}
});
dialog.show();
}
И вызовите этот метод как -
String message = "Your Message";
callAlert(message, callingClass.this);
Надеюсь, это поможет вам.