diff --git a/.idea/misc.xml b/.idea/misc.xml
index fbb6828..5d19981 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -37,7 +37,7 @@
-
+
diff --git a/.idea/modules.xml b/.idea/modules.xml
index 07e42ba..d375fa1 100644
--- a/.idea/modules.xml
+++ b/.idea/modules.xml
@@ -3,8 +3,11 @@
+
+
+
\ No newline at end of file
diff --git a/bottomdialog/src/main/java/me/shaohui/bottomdialog/BaseBottomDialog.java b/bottomdialog/src/main/java/me/shaohui/bottomdialog/BaseBottomDialog.java
old mode 100644
new mode 100755
index 3c5fd0d..4f8dc5d
--- a/bottomdialog/src/main/java/me/shaohui/bottomdialog/BaseBottomDialog.java
+++ b/bottomdialog/src/main/java/me/shaohui/bottomdialog/BaseBottomDialog.java
@@ -14,6 +14,7 @@
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
+import android.widget.FrameLayout;
/**
* Created by shaohui on 16/10/11.
@@ -33,11 +34,18 @@ public void onCreate(Bundle savedInstanceState) {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
+ Bundle savedInstanceState) {
getDialog().getWindow().requestFeature(Window.FEATURE_NO_TITLE);
getDialog().setCanceledOnTouchOutside(getCancelOutside());
-
- View v = inflater.inflate(getLayoutRes(), container, false);
+ View v;
+ if (getDialogView() != null) {
+ v = inflater.inflate(R.layout.layout, container, false);
+ FrameLayout layout = ((FrameLayout) v.findViewById(R.id.root));
+ layout.addView(getDialogView());
+ } else {
+ v = inflater.inflate(getLayoutRes(), container, false);
+ bindView(v);
+ }
bindView(v);
return v;
}
@@ -45,6 +53,8 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container,
@LayoutRes
public abstract int getLayoutRes();
+ public abstract View getDialogView();
+
public abstract void bindView(View v);
@Override
diff --git a/bottomdialog/src/main/java/me/shaohui/bottomdialog/BottomDialog.java b/bottomdialog/src/main/java/me/shaohui/bottomdialog/BottomDialog.java
old mode 100644
new mode 100755
index 4ec9819..1f44eae
--- a/bottomdialog/src/main/java/me/shaohui/bottomdialog/BottomDialog.java
+++ b/bottomdialog/src/main/java/me/shaohui/bottomdialog/BottomDialog.java
@@ -28,7 +28,7 @@ public class BottomDialog extends BaseBottomDialog {
@LayoutRes
private int mLayoutRes;
-
+ private View mView;
private ViewListener mViewListener;
public static BottomDialog create(FragmentManager manager) {
@@ -50,7 +50,10 @@ public void onCreate(Bundle savedInstanceState) {
@Override
public void onSaveInstanceState(Bundle outState) {
+ if (mLayoutRes != 0) {
+
outState.putInt(KEY_LAYOUT_RES, mLayoutRes);
+ }
outState.putInt(KEY_HEIGHT, mHeight);
outState.putFloat(KEY_DIM, mDimAmount);
outState.putBoolean(KEY_CANCEL_OUTSIDE, mIsCancelOutside);
@@ -125,6 +128,17 @@ public String getFragmentTag() {
return mTag;
}
+ @Override
+ public View getDialogView() {
+ return mView;
+ }
+
+ public BottomDialog setDialogView(View view) {
+// getParentFragment().getFragmentManager().set
+ mView = view;
+ return this;
+ }
+
public interface ViewListener {
void bindView(View v);
}
diff --git a/example/src/main/java/me/shaohui/bottomdialogexample/EditTextDialog.java b/example/src/main/java/me/shaohui/bottomdialogexample/EditTextDialog.java
old mode 100644
new mode 100755
index e8fc4ec..e969664
--- a/example/src/main/java/me/shaohui/bottomdialogexample/EditTextDialog.java
+++ b/example/src/main/java/me/shaohui/bottomdialogexample/EditTextDialog.java
@@ -4,6 +4,7 @@
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
+
import me.shaohui.bottomdialog.BaseBottomDialog;
/**
@@ -11,6 +12,10 @@
*/
public class EditTextDialog extends BaseBottomDialog {
+ @Override
+ public View getDialogView() {
+ return null;
+ }
private EditText mEditText;
diff --git a/example/src/main/java/me/shaohui/bottomdialogexample/MainActivity.java b/example/src/main/java/me/shaohui/bottomdialogexample/MainActivity.java
old mode 100644
new mode 100755
index 20a6f58..36df9ac
--- a/example/src/main/java/me/shaohui/bottomdialogexample/MainActivity.java
+++ b/example/src/main/java/me/shaohui/bottomdialogexample/MainActivity.java
@@ -1,13 +1,14 @@
package me.shaohui.bottomdialogexample;
-import android.content.Context;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
-import android.view.inputmethod.InputMethodManager;
-import android.widget.EditText;
+import android.widget.Toast;
+
import me.shaohui.bottomdialog.BottomDialog;
+import static me.shaohui.bottomdialog.BottomDialog.create;
+
public class MainActivity extends AppCompatActivity {
@Override
@@ -18,9 +19,9 @@ protected void onCreate(Bundle savedInstanceState) {
findViewById(R.id.show_dialog).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- showDialog();
+// showDialog();
//shareDialog();
-
+ showViewDialog();
}
});
}
@@ -33,19 +34,50 @@ private void shareDialog() {
}
private void showDialog() {
- BottomDialog.create(getSupportFragmentManager())
+ create(getSupportFragmentManager())
.setViewListener(new BottomDialog.ViewListener() {
@Override
public void bindView(View v) {
initView(v);
}
})
- .setLayoutRes(R.layout.dialog_layout)
+ .setLayoutRes(R.layout.layout)
.setDimAmount(0.9f)
.setTag("BottomDialog")
.show();
}
+ private void showViewDialog() {
+ UFPictureSelectedView view = new UFPictureSelectedView(this);
+
+ final BottomDialog dialog = BottomDialog.create(getSupportFragmentManager())
+ .setViewListener(new BottomDialog.ViewListener() {
+ @Override
+ public void bindView(View v) {
+ v.findViewById(R.id.item_recommend).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ Toast.makeText(MainActivity.this, "0", Toast.LENGTH_SHORT).show();
+ }
+ }); v.findViewById(R.id.item_take_photo).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ Toast.makeText(MainActivity.this, "1", Toast.LENGTH_SHORT).show();
+ }
+ }); v.findViewById(R.id.item_get_photo).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ Toast.makeText(MainActivity.this, "2", Toast.LENGTH_SHORT).show();
+ }
+ });
+ }
+ })
+ .setDialogView(view)
+ .setDimAmount(0.9f)
+ .setTag("BottomDialog");
+ dialog.show();
+ }
+
private void initView(final View view) {
//final EditText editText = (EditText) view.findViewById(R.id.edit_text);
//editText.post(new Runnable() {
diff --git a/example/src/main/java/me/shaohui/bottomdialogexample/ShareBottomDialog.java b/example/src/main/java/me/shaohui/bottomdialogexample/ShareBottomDialog.java
old mode 100644
new mode 100755
index e11cc28..3a9494a
--- a/example/src/main/java/me/shaohui/bottomdialogexample/ShareBottomDialog.java
+++ b/example/src/main/java/me/shaohui/bottomdialogexample/ShareBottomDialog.java
@@ -1,22 +1,27 @@
package me.shaohui.bottomdialogexample;
-import android.app.FragmentManager;
import android.view.View;
+
import me.shaohui.bottomdialog.BaseBottomDialog;
/**
* Created by shaohui on 16/10/11.
*/
-public class ShareBottomDialog extends BaseBottomDialog{
+public class ShareBottomDialog extends BaseBottomDialog {
@Override
public int getLayoutRes() {
- return R.layout.dialog_layout;
+ return R.layout.layout;
}
@Override
public void bindView(View v) {
// do any thing you want
}
+
+ @Override
+ public View getDialogView() {
+ return null;
+ }
}
diff --git a/example/src/main/java/me/shaohui/bottomdialogexample/UFOnSelectedTypeListener.java b/example/src/main/java/me/shaohui/bottomdialogexample/UFOnSelectedTypeListener.java
new file mode 100644
index 0000000..fafb3b9
--- /dev/null
+++ b/example/src/main/java/me/shaohui/bottomdialogexample/UFOnSelectedTypeListener.java
@@ -0,0 +1,7 @@
+package me.shaohui.bottomdialogexample;
+
+
+
+public abstract class UFOnSelectedTypeListener {
+ public abstract void onSelected(int type);
+}
diff --git a/example/src/main/java/me/shaohui/bottomdialogexample/UFPictureSelectedView.java b/example/src/main/java/me/shaohui/bottomdialogexample/UFPictureSelectedView.java
new file mode 100644
index 0000000..671a51d
--- /dev/null
+++ b/example/src/main/java/me/shaohui/bottomdialogexample/UFPictureSelectedView.java
@@ -0,0 +1,33 @@
+package me.shaohui.bottomdialogexample;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.LinearLayout;
+
+
+public class UFPictureSelectedView extends LinearLayout {
+
+ public UFPictureSelectedView(Context context) {
+ super(context);
+ initView(context);
+ }
+
+ public UFPictureSelectedView(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ initView(context);
+ }
+
+ public UFPictureSelectedView(Context context, AttributeSet attrs, int defStyleAttr) {
+ super(context, attrs, defStyleAttr);
+ initView(context);
+ }
+
+ private void initView(Context context) {
+ View root = LayoutInflater.from(context).inflate(R.layout.popup_pictures, this);
+
+ }
+
+
+}
diff --git a/example/src/main/res/layout/popup_pictures.xml b/example/src/main/res/layout/popup_pictures.xml
new file mode 100644
index 0000000..4e0ca45
--- /dev/null
+++ b/example/src/main/res/layout/popup_pictures.xml
@@ -0,0 +1,67 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file