Инструмент выбора изображений для устройств на платформе Android. Поддерживает одиночный выбор и множественный выбор.
./gradlew installDebug
Шаг 0
Добавьте модуль multi-image-selector
в качестве зависимости вашего проекта.
Шаг 1
Объявите разрешение android.permission.READ_EXTERNAL_STORAGE
в вашем файле AndroidManifest.xml
. Объявите MultiImageSelectorActivity
в вашем файле AndroidManifest.xml
.
<activity
android:configChanges="orientation|screenSize"
android:name="me.nereo.multi_image_selector.MultiImageSelectorActivity" />
Intent intent = new Intent(mContext, MultiImageSelectorActivity.class);
// показывать ли камеру
intent.putExtra(MultiImageSelectorActivity.EXTRA_SHOW_CAMERA, true);
// максимальное количество выбираемых изображений
intent.putExtra(MultiImageSelectorActivity.EXTRA_SELECT_COUNT, 9);
// режим выбора (MultiImageSelectorActivity.MODE_SINGLE или MultiImageSelectorActivity.MODE_MULTI)
intent.putExtra(MultiImageSelectorActivity.EXTRA_SELECT_MODE, MultiImageSelectorActivity.MODE_MULTI);
startActivityForResult(intent, REQUEST_IMAGE);
```* Шаг 3
Получите результат в методе `onActivityResult`. Например:
```java
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_IMAGE) {
if (resultCode == RESULT_OK) {
// Получите список путей выбранных изображений
List<String> пути = data.getStringArrayListExtra(MultiImageSelectorActivity.EXTRA_RESULT);
// Выполните свою логику ...
}
}
}
```* Шаг 4
Больше шагов не требуется, просто наслаждайтесь. :)
-------------------###Стратегия пользовательской активности
* Настройте свою собственную активность
```java
class CustomerActivity extends Activity implements MultiImageSelectorFragment.Callback{
@Override
protected void onCreate(Bundle savedInstanceState) {
// логика пользователя здесь...
Bundle bundle = new Bundle();
bundle.putInt(MultiImageSelectorFragment.EXTRA_SELECT_COUNT, mDefaultCount);
bundle.putInt(MultiImageSelectorFragment.EXTRA_SELECT_MODE, mode);
bundle.putBoolean(MultiImageSelectorFragment.EXTRA_SHOW_CAMERA, isShow);
// Добавьте фрагмент в вашу активность
getSupportFragmentManager().beginTransaction()
.add(R.id.image_grid, Fragment.instantiate(this, MultiImageSelectorFragment.class.getName(), bundle))
.commit();
}
@Override
public void onSingleImageSelected(String path) {
// Когда режим выбора установлен на MODE_SINGLE, этот метод получает результат от фрагмента
}
}
@Override
public void onImageSelected(String путь) {
// Вы можете указать поведение вашего ActionBar здесь
}
@Override
public void onImageUnselected(String путь) {
// Вы можете указать поведение вашего ActionBar здесь
}
@Override
public void onCameraShot(File imageFile) {
// Когда пользователь делает снимок с камеры, этот метод будет вызван.
}
}
MultiImageSelectorActivity.java
###История изменений
EXTRA_SHOW_CAMERA
в true
, событие нажатия первой сетки было сломано.The MIT License (MIT)
Copyright (c) 2015 Nereo
Разрешается бесплатно использовать, копировать, модифицировать, объединять, публиковать, распространять, передавать по лицензии и продавать копии Программы, а также позволять лицам, которым Программа была предоставлена, делать то же самое, при условии выполнения следующих условий:
Указанное выше уведомление об авторском праве и данное разрешение должны присутствовать во всех копиях или значительных частях Программы.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )