Android 自定义DialogFragment(个人)

来源:互联网 发布:mac的airplay在哪里 编辑:程序博客网 时间:2024/05/01 13:26
package com.locate.hotel.fragment;import com.locate.hotel.R;import android.content.DialogInterface;import android.os.Bundle;import android.support.v4.app.DialogFragment;import android.view.LayoutInflater;import android.view.View;import android.view.View.OnClickListener;import android.view.ViewGroup;import android.widget.Button;import android.widget.TextView;/** * 提示框 *  * @author *  */public class Dialog extends DialogFragment {static Dialog Dialog = null;String ok = "确定";String cancel = "取消";String message = "内容";boolean okendisable = true;public static Dialog getInstance() {if (Dialog == null) {Dialog = new Dialog();}return Dialog;}@Overridepublic void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setCancelable(true);setStyle(DialogFragment.STYLE_NO_FRAME, R.style.DialogTheme); // 后面样式很关键,个人定义不同,可以设置是否窗口,窗口背景,以及点击屏幕取消等}@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {//设置资源View view = inflater.inflate(R.layout.alert_dialog, container, false);Button positiveButton = (Button) view.findViewById(R.id.positiveButton);TextView msgTextView = (TextView) view.findViewById(R.id.messages);msgTextView.setText(message);positiveButton.setText(ok);positiveButton.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubdismiss(); // 确定按钮事件}});Button negativeButton = (Button) view.findViewById(R.id.negativeButton);negativeButton.setText(cancel);negativeButton.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubdismiss(); //}});return view;}public String getOk() {return ok;}public void setOk(String ok) {this.ok = ok;}public void setMessage(String message) {this.message = message;}public String getCancel() {return cancel;}public void setCancel(String cancel) {this.cancel = cancel;}@Overridepublic void onCancel(DialogInterface dialog) {// TODO Auto-generated method stubsuper.onCancel(dialog);}}
setStyle(DialogFragment.STYLE_NO_FRAME, R.style.DialogTheme);
//这句话最关键,Theme的设置决定了是否自定义,背景、是否可点击、是否可以触发等,背景属性,否则谈不上自定义
    </style>    <span style="white-space:pre"></span> <style name="DialogTheme" parent="@android:style/Theme.Dialog">        <item name="android:windowFrame">@null</item>        <item name="android:windowBackground">@+android:color/transparent</item>        <item name="android:background">@null</item>         <item name="android:colorBackgroundCacheHint">@null</item>        <item name="android:windowNoTitle">true</item>        <item name="android:windowIsFloating">true</item>        <item name="android:windowIsTranslucent">true</item>        <item name="android:backgroundDimEnabled">true</item>        <item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item>        <item name="android:windowAnimationStyle">@+android:style/Animation.Translucent</item>       </style>


0 0
原创粉丝点击