Buscar pacotes, repositórios e categorias de apps

Capa de likk_picker
Detalhes do pacotev1.1.5+1

likk_picker

Seletor de câmera e galeria do Photo Manager. Visualização personalizada do Facebook Messenger. (Selecionador de imagens, câmera, leitor de galeria)

Downloads em 30 dias
44
Curtidas
60
Pontos Pub
50

Instalar pacote

flutter pub add likk_picker

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

likk_picker é um pacote Flutter que fornece um seletor de imagens personalizável com integração para acesso à câmera e galeria, inspirado na interface de seleção de mídia do Facebook Messenger. Construído sobre a biblioteca Photo Manager, ele permite aos usuários selecionar e gerenciar imagens armazenadas localmente ou capturar novas diretamente pela câmera do dispositivo. O pacote suporta componentes UI personalizados, tornando-o ideal para aplicativos que exigem uma experiência de seleção de mídia refinada e semelhante ao nativo. Ele simplifica a recuperação de ativos mantendo flexibilidade para os desenvolvedores personalizarem aparência e comportamento do seletor.

Casos de uso

  • Upload de fotos em aplicativo de redes sociais
  • Compartilhamento de mídia em aplicativo de chat
  • Seleção de imagem do perfil do usuário
  • Ferramentas de criação de conteúdo
  • Captura de imagem de produto de comércio eletrônico
  • fluxos de trabalho de seleção de múltiplas imagens

Principais recursos

  • Integração de câmera e galeria
  • Interface personalizável como o Facebook Messenger
  • Suporte para seleção múltipla de imagens
  • Construído sobre a biblioteca Photo Manager
  • Leve e fácil de integrar
  • Compatibilidade multiplataforma

Indicado para

  • Desenvolvedores criando interfaces de chat
  • Aplicativos que precisam de seletor intuitivo de mídia
  • Projetos que exigem interfaces personalizadas de seleção de mídia
  • Aplicativos móveis focados em conteúdo gerado pelo usuário
  • Equipes que desejam uma alternativa leve aos seletores de imagem padrão

Considerações

  • Requer permissões específicas da plataforma para câmera e armazenamento
  • Limitado a ativos de imagem (sem suporte a vídeo)
  • Depende da biblioteca externa de gerenciamento de fotos
  • Pode ser necessário estilização adicional para personalização completa
  • Sem recursos embutidos de edição de imagem

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

Likk Picker

Platform Pub Package likes Forks

Buy Me A Coffee

A flutter package which is clone of facebook messenger gallery picker and camera, combined as single component. Gallery view and Camera view can also be use as Flutter widget. Under the hood likk picker used Photo Manager and Camera.


Table of contents


Installing

1. Add dependency

Add this to your package's pubspec.yaml file:

dependencies:
  likk_picker: ^latest_version
2. Install it

You can install packages from the command line:

with pub:

$ pub get

with Flutter:

$ flutter pub get
3. Import it

Now in your Dart code, you can use:

import 'package:likk_picker/likk_picker.dart';

Platform Setup

For more details (if needed) you can go through Photo Manager and Camera readme section as well.

Android

Change the minimum Android sdk version to 21 (or higher) in your android/app/build.gradle file.

minSdkVersion 21

Required permissions: INTERNET, READ_EXTERNAL_STORAGE, WRITE_EXTERNAL_STORAGE, ACCESS_MEDIA_LOCATION. If you don't need the ACCESS_MEDIA_LOCATION permission, see Disable ACCESS_MEDIA_LOCATION permission.

glide

Android native use glide to create image thumb bytes, version is 4.11.0.

If your other android library use the library, and version is not same, then you need edit your android project's build.gradle.

rootProject.allprojects {

    subprojects {
        project.configurations.all {
            resolutionStrategy.eachDependency { details ->
                if (details.requested.group == 'com.github.bumptech.glide'
                        && details.requested.name.contains('glide')) {
                    details.useVersion '4.11.0'
                }
            }
        }
    }
}

And, if you want to use ProGuard, you can see the ProGuard of Glide.

Remove Media Location permission

Android contains ACCESS_MEDIA_LOCATION permission by default.

This permission is introduced in Android Q. If your app doesn't need this permission, you need to add the following node to the Android manifest in your app.

<uses-permission
  android:name="android.permission.ACCESS_MEDIA_LOCATION"
  tools:node="remove"
  />

If you found some warning logs with Glide appearing, then the main project needs an implementation of AppGlideModule. See Generated API.

IOS

Add following content to info.plist.

<key>NSPhotoLibraryUsageDescription</key>
<string>Replace with your permission description..</string>
<key>NSCameraUsageDescription</key>
<string>Replace with your permission description..</string>
<key>NSMicrophoneUsageDescription</key>
<string>Replace with your permission description..</string>

Gallery

  1. Use GalleryViewWrapper to make gallery view collapsible otherwise ignore it.
class PickerDemo extends StatelessWidget {
 late final GalleryController controller;
 
 ...

 @override
 Widget build(BuildContext context) {
   return GalleryViewWrapper(
     controller: controller,
     child: Scaffold(
       body: ...
     ),
   );
 }
}
  1. GalleryController can be used for extra setting and picking media.
  • Using pick() function on controller to pick media.
class PickerDemo extends StatelessWidget {
  late final GalleryController controller;

  @override
  void initState() {
    super.initState();
    controller = GalleryController(
      gallerySetting: const GallerySetting(
        albumSubtitle: 'Collapsable',
        enableCamera: true,
        maximum: 10,
        requestType: RequestType.all,
      ),
      panelSetting: const PanelSetting(topMargin: 24.0),
    );
  }

  ...

  onPressed : () async {
    final entities = await controller.pick();
  }

  ...
}
  1. Using GalleryViewField similarly as flutter TextField to pick media.
  • onChanged – triggered every time user select/unselect media

  • onSubmitted – triggered when user done with selection

GalleryViewField(
  selectedEntities: [],
  onChanged: (entity, isRemoved) {
     ...
  },
  onSubmitted: (list) {
     ...
  }
  child: const Icon(Icons.camera),
),
  1. You can also use GalleryView as a Widget.

Camera

  1. Using pick() function on CameraView to pick media.
  ...
  onPressed : () async {
    final entity = await CameraView.pick();
  }
  ...
  1. Using CameraViewField similarly as flutter TextField to pick media.
  • onCapture – triggered when photo/video capture completed
GalleryViewField(
  onCapture: (entity) {
     ...
  },
  child: const Icon(Icons.camera),
),
  1. You can also use CameraView as a Widget.

Bugs or Requests

If you encounter any problems feel free to open an issue. If you feel the library is missing a feature, please raise a ticket on GitHub and I'll look into it. Pull request are also welcome.


Maintainers

Donate

Categorias

Dependências

Lista de dependências 5 itens

Repositório-fonte

Projetos que usam este pacote

Ainda não há dados.