zeba_academy_arabic_rtl_ui
RTL & Arabic optimized UI toolkit for Flutter applications.
A production‑ready Flutter package designed to simplify building Arabic, Islamic, and Right‑to‑Left (RTL) user interfaces. This toolkit automatically adapts layouts, typography, and widgets for RTL languages while providing reusable Islamic‑style UI components.
✨ Features
✅ Automatic RTL Support
- Detects text direction using Flutter
Directionality - Works seamlessly with Arabic locales
- No manual RTL handling required
✅ Arabic Typography Helpers
- Preconfigured Arabic text widget
- RTL text direction enforced automatically
- Elegant Arabic font styling support
✅ Islamic Decorative Widgets
- Islamic themed container
- Decorative divider for Islamic UI layouts
- Clean minimal design system
✅ Direction‑Aware Layout Helpers
- RTL-aware Row & Column widgets
- Automatically respects layout direction
- Cleaner multilingual UI code
📦 Installation
Add dependency to your pubspec.yaml:
dependencies:
zeba_academy_arabic_rtl_ui: ^0.0.1
Then run:
flutter pub get
🚀 Quick Start
import 'package:flutter/material.dart';
import 'package:zeba_academy_arabic_rtl_ui/zeba_academy_arabic_rtl_ui.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return const MaterialApp(
locale: Locale('ar'),
home: ExamplePage(),
);
}
}
class ExamplePage extends StatelessWidget {
const ExamplePage({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text('Arabic RTL UI')),
body: Center(
child: DirectionAwareColumn(
mainAxisAlignment: MainAxisAlignment.center,
children: const [
ArabicText('السلام عليكم'),
SizedBox(height: 20),
IslamicContainer(
child: ArabicText('مرحبا بكم'),
),
SizedBox(height: 20),
IslamicDivider(),
],
),
),
);
}
}
🧩 Widgets Overview
ArabicText
Arabic optimized text widget with RTL direction and typography.
ArabicText(
'السلام عليكم',
fontSize: 20,
)
IslamicContainer
Reusable Islamic styled container.
IslamicContainer(
child: ArabicText('Example'),
)
IslamicDivider
Decorative divider for Islamic layouts.
IslamicDivider()
DirectionAwareRow
Automatically adapts layout direction.
DirectionAwareRow(
children: [Text('A'), Text('B')],
)
DirectionAwareColumn
RTL-aware column layout.
DirectionAwareColumn(
children: [Text('1'), Text('2')],
)
🧠 RTL Helper
Check direction programmatically:
bool isRTL = RTLHelper.isRTL(context);
📂 Package Structure
lib/
├── zeba_academy_arabic_rtl_ui.dart
└── src/
├── rtl_helper.dart
├── arabic_text.dart
├── decorative_widgets.dart
└── layout_helper.dart
🧪 Testing
Run tests using:
flutter test
All core widgets and RTL behaviors are covered with widget tests.
🎯 Use Cases
- Islamic applications
- Quran & Hadith apps
- Arabic learning platforms
- Multilingual Flutter apps
- RTL-first mobile applications
🔮 Roadmap
- Auto RTL detection from Locale
- Quran verse widgets
- Islamic AppBar & Card components
- RTL navigation transitions
- Direction-aware padding extensions
🤝 Contributing
Contributions are welcome!
- Fork the repository
- Create a feature branch
- Commit changes
- Submit a pull request
📄 License
GPL License
👨💻 Maintained by
Zeba Academy
Building Flutter tools for education, Islamic apps, and multilingual UI systems.