diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 85a6c64..b7bb71a 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -5,6 +5,7 @@ - - + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index 9076de5..fc2d64b 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -3,8 +3,31 @@ - + + + + + - - + \ No newline at end of file diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml new file mode 100644 index 0000000..7f68460 --- /dev/null +++ b/.idea/runConfigurations.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/MultiImageSelector.iml b/MultiImageSelector.iml index 8935ebd..5cc9d11 100644 --- a/MultiImageSelector.iml +++ b/MultiImageSelector.iml @@ -1,19 +1,19 @@ - + - + - + - - + \ No newline at end of file diff --git a/app/app.iml b/app/app.iml index 46168ca..6cd5a31 100644 --- a/app/app.iml +++ b/app/app.iml @@ -1,5 +1,5 @@ - + @@ -13,8 +13,11 @@ - + @@ -85,11 +88,10 @@ - - + + - - + \ No newline at end of file diff --git a/multi-image-selector/multi-image-selector.iml b/multi-image-selector/multi-image-selector.iml index 325fdde..0132135 100644 --- a/multi-image-selector/multi-image-selector.iml +++ b/multi-image-selector/multi-image-selector.iml @@ -12,10 +12,12 @@ - + diff --git a/multi-image-selector/src/main/java/me/nereo/multi_image_selector/MultiImageSelectorActivity.java b/multi-image-selector/src/main/java/me/nereo/multi_image_selector/MultiImageSelectorActivity.java old mode 100644 new mode 100755 index ac6976c..01bcf8c --- a/multi-image-selector/src/main/java/me/nereo/multi_image_selector/MultiImageSelectorActivity.java +++ b/multi-image-selector/src/main/java/me/nereo/multi_image_selector/MultiImageSelectorActivity.java @@ -14,22 +14,36 @@ * 多图选择 * Created by Nereo on 2015/4/7. */ -public class MultiImageSelectorActivity extends FragmentActivity implements MultiImageSelectorFragment.Callback{ +public class MultiImageSelectorActivity extends FragmentActivity implements MultiImageSelectorFragment.Callback { - /** 最大图片选择次数,int类型,默认9 */ + /** + * 最大图片选择次数,int类型,默认9 + */ public static final String EXTRA_SELECT_COUNT = "max_select_count"; - /** 图片选择模式,默认多选 */ + /** + * 图片选择模式,默认多选 + */ public static final String EXTRA_SELECT_MODE = "select_count_mode"; - /** 是否显示相机,默认显示 */ + /** + * 是否显示相机,默认显示 + */ public static final String EXTRA_SHOW_CAMERA = "show_camera"; - /** 选择结果,返回为 ArrayList<String> 图片路径集合 */ + /** + * 选择结果,返回为 ArrayList<String> 图片路径集合 + */ public static final String EXTRA_RESULT = "select_result"; - /** 默认选择集 */ + /** + * 默认选择集 + */ public static final String EXTRA_DEFAULT_SELECTED_LIST = "default_list"; - /** 单选 */ + /** + * 单选 + */ public static final int MODE_SINGLE = 0; - /** 多选 */ + /** + * 多选 + */ public static final int MODE_MULTI = 1; private ArrayList resultList = new ArrayList<>(); @@ -45,7 +59,7 @@ protected void onCreate(Bundle savedInstanceState) { mDefaultCount = intent.getIntExtra(EXTRA_SELECT_COUNT, 9); int mode = intent.getIntExtra(EXTRA_SELECT_MODE, MODE_MULTI); boolean isShow = intent.getBooleanExtra(EXTRA_SHOW_CAMERA, true); - if(mode == MODE_MULTI && intent.hasExtra(EXTRA_DEFAULT_SELECTED_LIST)) { + if (mode == MODE_MULTI && intent.hasExtra(EXTRA_DEFAULT_SELECTED_LIST)) { resultList = intent.getStringArrayListExtra(EXTRA_DEFAULT_SELECTED_LIST); } @@ -70,17 +84,17 @@ public void onClick(View view) { // 完成按钮 mSubmitButton = (Button) findViewById(R.id.commit); - if(resultList == null || resultList.size()<=0){ - mSubmitButton.setText("完成"); + if (resultList == null || resultList.size() <= 0) { + mSubmitButton.setText(getString(R.string.execute)); mSubmitButton.setEnabled(false); - }else{ - mSubmitButton.setText("完成("+resultList.size()+"/"+mDefaultCount+")"); + } else { + mSubmitButton.setText(getString(R.string.execute) + " (" + resultList.size() + "/" + mDefaultCount + ")"); mSubmitButton.setEnabled(true); } mSubmitButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - if(resultList != null && resultList.size() >0){ + if (resultList != null && resultList.size() > 0) { // 返回已选择的图片数据 Intent data = new Intent(); data.putStringArrayListExtra(EXTRA_RESULT, resultList); @@ -102,13 +116,13 @@ public void onSingleImageSelected(String path) { @Override public void onImageSelected(String path) { - if(!resultList.contains(path)) { + if (!resultList.contains(path)) { resultList.add(path); } // 有图片之后,改变按钮状态 - if(resultList.size() > 0){ - mSubmitButton.setText("完成("+resultList.size()+"/"+mDefaultCount+")"); - if(!mSubmitButton.isEnabled()){ + if (resultList.size() > 0) { + mSubmitButton.setText(getString(R.string.execute) + " (" + resultList.size() + "/" + mDefaultCount + ")"); + if (!mSubmitButton.isEnabled()) { mSubmitButton.setEnabled(true); } } @@ -116,22 +130,22 @@ public void onImageSelected(String path) { @Override public void onImageUnselected(String path) { - if(resultList.contains(path)){ + if (resultList.contains(path)) { resultList.remove(path); - mSubmitButton.setText("完成("+resultList.size()+"/"+mDefaultCount+")"); - }else{ - mSubmitButton.setText("完成("+resultList.size()+"/"+mDefaultCount+")"); + mSubmitButton.setText(getString(R.string.execute) + " (" + resultList.size() + "/" + mDefaultCount + ")"); + } else { + mSubmitButton.setText(getString(R.string.execute) + " (" + resultList.size() + "/" + mDefaultCount + ")"); } // 当为选择图片时候的状态 - if(resultList.size() == 0){ - mSubmitButton.setText("完成"); + if (resultList.size() == 0) { + mSubmitButton.setText(getString(R.string.execute)); mSubmitButton.setEnabled(false); } } @Override public void onCameraShot(File imageFile) { - if(imageFile != null) { + if (imageFile != null) { Intent data = new Intent(); resultList.add(imageFile.getAbsolutePath()); data.putStringArrayListExtra(EXTRA_RESULT, resultList); 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 old mode 100644 new mode 100755 index d1bc4b4..5ab147e --- 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 @@ -208,7 +208,7 @@ public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCoun int index = firstVisibleItem + 1 == view.getAdapter().getCount() ? view.getAdapter().getCount() - 1 : firstVisibleItem + 1; Image image = (Image) view.getAdapter().getItem(index); if (image != null) { - mTimeLineText.setText(TimeUtils.formatPhotoDate(image.path)); + mTimeLineText.setText(TimeUtils.formatPhotoDate(getActivity(), image.path)); } } } diff --git a/multi-image-selector/src/main/java/me/nereo/multi_image_selector/adapter/FolderAdapter.java b/multi-image-selector/src/main/java/me/nereo/multi_image_selector/adapter/FolderAdapter.java old mode 100644 new mode 100755 index 7e5a237..97bf7ac --- a/multi-image-selector/src/main/java/me/nereo/multi_image_selector/adapter/FolderAdapter.java +++ b/multi-image-selector/src/main/java/me/nereo/multi_image_selector/adapter/FolderAdapter.java @@ -76,10 +76,14 @@ public View getView(int i, View view, ViewGroup viewGroup) { }else{ holder = (ViewHolder) view.getTag(); } + if (holder != null) { if(i == 0){ - holder.name.setText("所有图片"); - holder.size.setText(getTotalImageSize()+"张"); + holder.name.setText(R.string.folder_all); + + int totalImages = getTotalImageSize(); + holder.size.setText(totalImages + " " + ( (totalImages == 1)?(mContext.getString(R.string.s_photo)):(mContext.getString(R.string.s_photos)) )); + if(mFolders.size()>0){ Folder f = mFolders.get(0); Picasso.with(mContext) @@ -137,7 +141,11 @@ class ViewHolder{ void bindData(Folder data) { name.setText(data.name); - size.setText(data.images.size()+"张"); + + int totalImages = data.images.size(); + + size.setText(totalImages + " " + ( (totalImages == 1)?(mContext.getString(R.string.s_photo)):(mContext.getString(R.string.s_photos)) )); + // 显示图片 Picasso.with(mContext) .load(new File(data.cover.path)) @@ -145,6 +153,7 @@ void bindData(Folder data) { .resize(mImageSize, mImageSize) .centerCrop() .into(cover); + // TODO 选择标识 } } 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 old mode 100644 new mode 100755 diff --git a/multi-image-selector/src/main/java/me/nereo/multi_image_selector/bean/Folder.java b/multi-image-selector/src/main/java/me/nereo/multi_image_selector/bean/Folder.java old mode 100644 new mode 100755 diff --git a/multi-image-selector/src/main/java/me/nereo/multi_image_selector/bean/Image.java b/multi-image-selector/src/main/java/me/nereo/multi_image_selector/bean/Image.java old mode 100644 new mode 100755 diff --git a/multi-image-selector/src/main/java/me/nereo/multi_image_selector/utils/FileUtils.java b/multi-image-selector/src/main/java/me/nereo/multi_image_selector/utils/FileUtils.java old mode 100644 new mode 100755 diff --git a/multi-image-selector/src/main/java/me/nereo/multi_image_selector/utils/TimeUtils.java b/multi-image-selector/src/main/java/me/nereo/multi_image_selector/utils/TimeUtils.java old mode 100644 new mode 100755 index 95740eb..723381e --- a/multi-image-selector/src/main/java/me/nereo/multi_image_selector/utils/TimeUtils.java +++ b/multi-image-selector/src/main/java/me/nereo/multi_image_selector/utils/TimeUtils.java @@ -1,33 +1,34 @@ package me.nereo.multi_image_selector.utils; -import android.media.ExifInterface; +import android.content.Context; import java.io.File; -import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; +import me.nereo.multi_image_selector.R; + /** * 时间处理工具 * Created by Nereo on 2015/4/8. */ public class TimeUtils { - public static String timeFormat(long timeMillis, String pattern){ + public static String timeFormat(long timeMillis, String pattern) { SimpleDateFormat format = new SimpleDateFormat(pattern, Locale.CHINA); return format.format(new Date(timeMillis)); } - public static String formatPhotoDate(long time){ - return timeFormat(time, "yyyy-MM-dd"); + public static String formatPhotoDate(Context context, long time) { + return timeFormat(time, context.getString(R.string.time_format)); } - public static String formatPhotoDate(String path){ + public static String formatPhotoDate(Context context, String path) { File file = new File(path); - if(file.exists()){ + if (file.exists()) { long time = file.lastModified(); - return formatPhotoDate(time); + return formatPhotoDate(context, time); } return "1970-01-01"; } diff --git a/multi-image-selector/src/main/java/me/nereo/multi_image_selector/view/GestureImageView.java b/multi-image-selector/src/main/java/me/nereo/multi_image_selector/view/GestureImageView.java old mode 100644 new mode 100755 diff --git a/multi-image-selector/src/main/java/me/nereo/multi_image_selector/view/SuperViewPager.java b/multi-image-selector/src/main/java/me/nereo/multi_image_selector/view/SuperViewPager.java old mode 100644 new mode 100755 diff --git a/multi-image-selector/src/main/res/color/default_text_color.xml b/multi-image-selector/src/main/res/color/default_text_color.xml old mode 100644 new mode 100755 diff --git a/multi-image-selector/src/main/res/color/folder_text_color.xml b/multi-image-selector/src/main/res/color/folder_text_color.xml old mode 100644 new mode 100755 diff --git a/multi-image-selector/src/main/res/drawable-xhdpi/btn_back.png b/multi-image-selector/src/main/res/drawable-xhdpi/btn_back.png old mode 100644 new mode 100755 diff --git a/multi-image-selector/src/main/res/drawable-xhdpi/default_check_s.png b/multi-image-selector/src/main/res/drawable-xhdpi/default_check_s.png old mode 100644 new mode 100755 diff --git a/multi-image-selector/src/main/res/drawable-xhdpi/ic_menu_back.png b/multi-image-selector/src/main/res/drawable-xhdpi/ic_menu_back.png old mode 100644 new mode 100755 diff --git a/multi-image-selector/src/main/res/drawable-xhdpi/selector_indicator.png b/multi-image-selector/src/main/res/drawable-xhdpi/selector_indicator.png old mode 100644 new mode 100755 diff --git a/multi-image-selector/src/main/res/drawable-xxhdpi/asv.png b/multi-image-selector/src/main/res/drawable-xxhdpi/asv.png old mode 100644 new mode 100755 diff --git a/multi-image-selector/src/main/res/drawable-xxhdpi/asy.png b/multi-image-selector/src/main/res/drawable-xxhdpi/asy.png old mode 100644 new mode 100755 diff --git a/multi-image-selector/src/main/res/drawable-xxhdpi/btn_selected.png b/multi-image-selector/src/main/res/drawable-xxhdpi/btn_selected.png old mode 100644 new mode 100755 diff --git a/multi-image-selector/src/main/res/drawable-xxhdpi/btn_unselected.png b/multi-image-selector/src/main/res/drawable-xxhdpi/btn_unselected.png old mode 100644 new mode 100755 diff --git a/multi-image-selector/src/main/res/drawable-xxhdpi/default_check.png b/multi-image-selector/src/main/res/drawable-xxhdpi/default_check.png old mode 100644 new mode 100755 diff --git a/multi-image-selector/src/main/res/drawable-xxhdpi/default_error.png b/multi-image-selector/src/main/res/drawable-xxhdpi/default_error.png old mode 100644 new mode 100755 diff --git a/multi-image-selector/src/main/res/drawable-xxhdpi/text_indicator.png b/multi-image-selector/src/main/res/drawable-xxhdpi/text_indicator.png old mode 100644 new mode 100755 diff --git a/multi-image-selector/src/main/res/drawable/action_btn.xml b/multi-image-selector/src/main/res/drawable/action_btn.xml old mode 100644 new mode 100755 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 old mode 100644 new mode 100755 diff --git a/multi-image-selector/src/main/res/layout/activity_default.xml b/multi-image-selector/src/main/res/layout/activity_default.xml old mode 100644 new mode 100755 diff --git a/multi-image-selector/src/main/res/layout/cmp_customer_actionbar.xml b/multi-image-selector/src/main/res/layout/cmp_customer_actionbar.xml old mode 100644 new mode 100755 index e2266e7..483178f --- a/multi-image-selector/src/main/res/layout/cmp_customer_actionbar.xml +++ b/multi-image-selector/src/main/res/layout/cmp_customer_actionbar.xml @@ -14,7 +14,7 @@ android:layout_height="wrap_content" /> + + Works + Todas imagens + Pré-visualização + Camera não encontrada + Limite de imagens atingido + Tirar foto + Selecionar + dd/MM/yyyy + Foto + Fotos + Voltar + + diff --git a/multi-image-selector/src/main/res/values-sw360dp/dimens.xml b/multi-image-selector/src/main/res/values-sw360dp/dimens.xml old mode 100644 new mode 100755 diff --git a/multi-image-selector/src/main/res/values-sw480dp/dimens.xml b/multi-image-selector/src/main/res/values-sw480dp/dimens.xml old mode 100644 new mode 100755 diff --git a/multi-image-selector/src/main/res/values-sw720dp/dimens.xml b/multi-image-selector/src/main/res/values-sw720dp/dimens.xml old mode 100644 new mode 100755 diff --git a/multi-image-selector/src/main/res/values-zh/strings.xml b/multi-image-selector/src/main/res/values-zh/strings.xml old mode 100644 new mode 100755 index d439ac9..78d159a --- a/multi-image-selector/src/main/res/values-zh/strings.xml +++ b/multi-image-selector/src/main/res/values-zh/strings.xml @@ -1,7 +1,14 @@ - 多图选择器 + Works 所有照片 预览 没有系统相机 已经达到最高选择数量 + 拍摄照片 + 完成 + yyyy-MM-dd + + + 图片 + diff --git a/multi-image-selector/src/main/res/values/dimens.xml b/multi-image-selector/src/main/res/values/dimens.xml old mode 100644 new mode 100755 diff --git a/multi-image-selector/src/main/res/values/strings.xml b/multi-image-selector/src/main/res/values/strings.xml old mode 100644 new mode 100755 index d6732fd..522dab0 --- a/multi-image-selector/src/main/res/values/strings.xml +++ b/multi-image-selector/src/main/res/values/strings.xml @@ -1,7 +1,15 @@ - multi-image-selector + + Trabalhos All Images Preview No system camera found Select images amount is limit + Take Picture + Select + yyyy-MM-dd + Photo + Photos + Back +