diff --git a/multi-image-selector/src/main/java/me/nereo/multi_image_selector/MultiImageSelectorFragment.java b/multi-image-selector/src/main/java/me/nereo/multi_image_selector/MultiImageSelectorFragment.java
index d1bc4b4..390329d 100644
--- a/multi-image-selector/src/main/java/me/nereo/multi_image_selector/MultiImageSelectorFragment.java
+++ b/multi-image-selector/src/main/java/me/nereo/multi_image_selector/MultiImageSelectorFragment.java
@@ -228,8 +228,13 @@ public void onGlobalLayout() {
final int numCount = width / desireSize;
final int columnSpace = getResources().getDimensionPixelOffset(R.dimen.space_size);
int columnWidth = (width - columnSpace*(numCount-1)) / numCount;
+
+ mGridView.setNumColumns(numCount);
+
mImageAdapter.setItemSize(columnWidth);
+
+
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN){
mGridView.getViewTreeObserver().removeOnGlobalLayoutListener(this);
}else{
@@ -265,7 +270,7 @@ public void onItemClick(AdapterView> adapterView, View view, int i, long l) {
*/
private void createPopupFolderList(int width, int height) {
mFolderPopupWindow = new ListPopupWindow(getActivity());
- mFolderPopupWindow.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
+ mFolderPopupWindow.setBackgroundDrawable(new ColorDrawable(Color.WHITE));
mFolderPopupWindow.setAdapter(mFolderAdapter);
mFolderPopupWindow.setContentWidth(width);
mFolderPopupWindow.setWidth(width);
diff --git a/multi-image-selector/src/main/java/me/nereo/multi_image_selector/adapter/ImageGridAdapter.java b/multi-image-selector/src/main/java/me/nereo/multi_image_selector/adapter/ImageGridAdapter.java
index 23bed9d..cbfb15b 100644
--- a/multi-image-selector/src/main/java/me/nereo/multi_image_selector/adapter/ImageGridAdapter.java
+++ b/multi-image-selector/src/main/java/me/nereo/multi_image_selector/adapter/ImageGridAdapter.java
@@ -131,10 +131,6 @@ public void setItemSize(int columnWidth) {
}
mItemSize = columnWidth;
-
- mItemLayoutParams = new GridView.LayoutParams(mItemSize, mItemSize);
-
- notifyDataSetChanged();
}
@Override
@@ -196,11 +192,6 @@ public View getView(int i, View view, ViewGroup viewGroup) {
}
}
- /** Fixed View Size */
- GridView.LayoutParams lp = (GridView.LayoutParams) view.getLayoutParams();
- if(lp.height != mItemSize){
- view.setLayoutParams(mItemLayoutParams);
- }
return view;
}
diff --git a/multi-image-selector/src/main/java/me/nereo/multi_image_selector/view/SquaredImageView.java b/multi-image-selector/src/main/java/me/nereo/multi_image_selector/view/SquaredImageView.java
new file mode 100644
index 0000000..4783aad
--- /dev/null
+++ b/multi-image-selector/src/main/java/me/nereo/multi_image_selector/view/SquaredImageView.java
@@ -0,0 +1,20 @@
+package me.nereo.multi_image_selector.view;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.widget.ImageView;
+
+final class SquaredImageView extends ImageView {
+ public SquaredImageView(Context context) {
+ super(context);
+ }
+
+ public SquaredImageView(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ }
+
+ @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
+ super.onMeasure(widthMeasureSpec, heightMeasureSpec);
+ setMeasuredDimension(getMeasuredWidth(), getMeasuredWidth());
+ }
+}
diff --git a/multi-image-selector/src/main/java/me/nereo/multi_image_selector/view/SquaredLayout.java b/multi-image-selector/src/main/java/me/nereo/multi_image_selector/view/SquaredLayout.java
new file mode 100644
index 0000000..240f294
--- /dev/null
+++ b/multi-image-selector/src/main/java/me/nereo/multi_image_selector/view/SquaredLayout.java
@@ -0,0 +1,20 @@
+package me.nereo.multi_image_selector.view;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.widget.FrameLayout;
+
+final class SquaredLayout extends FrameLayout {
+ public SquaredLayout(Context context) {
+ super(context);
+ }
+
+ public SquaredLayout(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ }
+
+ @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
+ super.onMeasure(widthMeasureSpec, heightMeasureSpec);
+ setMeasuredDimension(getMeasuredWidth(), getMeasuredWidth());
+ }
+}
diff --git a/multi-image-selector/src/main/res/layout-v14/fragment_multi_image.xml b/multi-image-selector/src/main/res/layout-v14/fragment_multi_image.xml
index 1b41929..72ffdd5 100644
--- a/multi-image-selector/src/main/res/layout-v14/fragment_multi_image.xml
+++ b/multi-image-selector/src/main/res/layout-v14/fragment_multi_image.xml
@@ -13,8 +13,7 @@
android:verticalSpacing="@dimen/space_size"
android:paddingBottom="?android:attr/actionBarSize"
android:clipToPadding="false"
- android:numColumns="auto_fit"
- android:columnWidth="@dimen/image_size"/>
+ />
+ />
-
@@ -14,4 +14,4 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/multi-image-selector/src/main/res/layout/list_item_image.xml b/multi-image-selector/src/main/res/layout/list_item_image.xml
index b45f380..8c333a8 100644
--- a/multi-image-selector/src/main/res/layout/list_item_image.xml
+++ b/multi-image-selector/src/main/res/layout/list_item_image.xml
@@ -2,9 +2,8 @@
-