Orientação gerada a partir de informações públicas. Apenas para referência.
Um pacote Flutter que fornece uma interface de seleção de câmera inspirada no design do WeChat, oferecendo uma experiência fluida e familiar para capturar fotos e vídeos. Funciona como uma extensão independente do wechat_assets_picker, permitindo que desenvolvedores integrem uma UI de câmera refinada em seus aplicativos com esforço mínimo. O seletor é compatível com plataformas Android e iOS, garantindo comportamento consistente entre dispositivos. É ideal para aplicativos que exigem fluxos intuitivos de captura de mídia.
Casos de uso
Integrando uma interface de câmera do estilo WeChat
Habilitar captura rápida de fotos e vídeos
Construindo aplicativos de mídia social ou mensagens
Melhorando a experiência do usuário em aplicativos com grande quantidade de mídia
Criando fluxos de câmera personalizados dentro dos seletor de ativos existentes
Principais recursos
Design de interface do tipo WeChat
Separe a extensão do wechat_assets_picker
Suporta captura de fotos e vídeos
Compatibilidade multiplataforma (Android e iOS)
Integração simples por meio do comando pub add
Indicado para
Desenvolvedores em busca de interfaces de câmera nativas
Aplicativos focados em conteúdo gerado pelo usuário
Projetos usando o wechat_assets_picker
Equipes que priorizam a consistência da UX
Aplicativos móveis que precisam de funcionalidade leve de câmera
Considerações
Requer dependência do wechat_assets_picker para funcionalidade completa
Personalização limitada de elementos da interface
Pode ser necessário permissões adicionais para acesso à câmera
Mais adequado para aplicativos onde a consistência da interface com o WeChat é desejada
Não destinado a recursos avançados de câmera, como filtros ou controles manuais
README original
Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.
A camera picker for Flutter projects based on WeChat's UI,
which is also a separate runnable extension to the
wechat_assets_picker.
The current WeChat version that UI is based on: 8.0.49.
UI designs will be updated at any time following the WeChat update.
See the Migration Guide to learn how to migrate between breaking changes.
Versions compatibility
The package only guarantees that it will work on the stable version of Flutter.
We won't update it in real-time to align with other channels of Flutter.
3.3.0
3.16.0
3.22.0
4.4.0+
❌
✅
✅
4.2.0+
❌
✅
❌
4.0.0+
✅
❌
❌
Package credits
The package is built from these wonderful packages.
Their implementation should be relatively stable in the package.
If you've found any issues related to them when using the picker,
submit issues to our issue tracker first.
♿ Complete a11y support with TalkBack and VoiceOver
♻️ Fully implementable with States override
🎏 Fully customizable theme based on ThemeData
💚 Completely WeChat style (even more)
⚡️ Adjustable performance with different configurations
📷 Picture capturing support
🎥 Video recording support
⏱ Duration limitation support
🔍 Scale when recording support
☀️ Exposure adjust support
🔍️ Scale with pinch support
💱 i18n support
⏪ RTL language support
🖾 Foreground custom widget builder support
🕹️ Intercept saving with a custom process
Screenshots 📸
READ THIS FIRST ‼️
Be aware of the below notices before you start anything:
Due to understanding the differences and limitations of a single document,
documents will not cover all the contents.
If you find nothing related to your expected features and cannot understand about concepts,
run the example project and check every option first.
It has covered 90% of regular requests with the package.
The package deeply integrates with the photo_manager plugin,
make sure you understand these two concepts as much as possible:
When using NSPhotoLibraryAddUsageDescription on iOS,
it requires using onEntitySaving or onXFileCaptured to handle the captured file,
an AssetEntity is not available in this circumstance,
obtaining that asset with its ID will lead to a crash.
When you're picking assets, the package will obtain the Locale?
from your BuildContext, and return the corresponding text delegate
of the current language.
Make sure you have a valid Locale in your widget tree that can be accessed
from the BuildContext. Otherwise, the default Chinese delegate will be used.
Embedded text delegates languages are:
简体中文 (default)
English
Tiếng Việt
If you want to use a custom/fixed text delegate, pass it through the
CameraPickerConfig.textDelegate.
Currently, the preview is not correctly synced on the iOS.
You can find more details in this issue:
https://github.com/flutter/flutter/issues/89216 .
Other than that, please submit issues to describe your question.
Contributors ✨
Thanks goes to these wonderful people (emoji key):