Toast dialog class
public static class ToastDialog extends DialogFragment {
public interface EditNameDialogListener {
public void onDimiss();
}
private TextView mEditText;
private EditNameDialogListener listener;
public ToastDialog() {
// Empty constructor required for DialogFragment
}
public static ToastDialog newInstance(String title, String text) {
ToastDialog frag = new ToastDialog();
Bundle args = new Bundle();
args.putString("title", title);
args.putString("text", text);
frag.setArguments(args);
return frag;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setStyle(DialogFragment.STYLE_NO_TITLE, R.style.my_dialog);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.toast_text_only, container);
mEditText = (TextView) view.findViewById(R.id.toast_text);
mEditText.setMovementMethod(LinkMovementMethod.getInstance());
mEditText.setClickable(true);
mEditText.setLinksClickable(true);
mEditText.setText(getArguments().getString("text"));
TextView titleText = (TextView) view.findViewById(R.id.toast_text_title);
titleText.setText(getArguments().getString("title"));
getDialog().setTitle(getArguments().getString("title"));
return view;
}
@Override
public void onDismiss(DialogInterface dialog) {
super.onDismiss(dialog);
if (listener != null) {
listener.onDimiss();
}
}
public void setListener(EditNameDialogListener listener) {
this.listener = listener;
}
}
res/values/styles
<style name="my_dialog" parent="@android:style/Theme.Dialog">
<item name="android:windowFrame">@null</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowTitleStyle">@null</item>
<item name="android:colorBackgroundCacheHint">@null</item>
<item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
<item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item>
<item name="android:gravity">center</item>
</style>
UserFragmentManager fm = activity.getSupportFragmentManager();
ToastDialog editNameDialog = ToastDialog.newInstance(title, text);
editNameDialog.show(fm, "fragment_toast");
res/layout<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#C8000000"
android:orientation="vertical">
<TextView
android:id="@+id/toast_text_title"
android:layout_width="wrap_content"
android:minHeight="40dp"
android:layout_height="wrap_content"
android:textColor="#762b76"
android:layout_marginBottom="10dp"
android:layout_marginTop="10dp"
android:paddingLeft="40dp"
android:paddingRight="40dp"
android:textSize="22sp" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="1dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:background="@color/text_color_1" />
<TextView
android:id="@+id/toast_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingTop="10dp"
android:paddingLeft="40dp"
android:paddingRight="40dp"
android:textColor="@color/text_color_1"
android:textSize="20sp"
android:lineSpacingMultiplier="1.3"
android:layout_marginBottom="10dp"
android:layout_gravity="center_vertical" />
</LinearLayout>
No hay comentarios:
Publicar un comentario