zeba_academy_exam_simulator 1.1.0
zeba_academy_exam_simulator: ^1.1.0 copied to clipboard
Real CBT-style exam simulator with navigation palette, timer, negative marking and progress tracking.
example/lib/main.dart
import 'package:flutter/material.dart';
import 'package:zeba_academy_exam_simulator/zeba_academy_exam_simulator.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
theme: ExamTheme.light(),
home: const ExamDemo(),
);
}
}
class ExamDemo extends StatefulWidget {
const ExamDemo({super.key});
@override
State<ExamDemo> createState() => _ExamDemoState();
}
class _ExamDemoState extends State<ExamDemo> {
late ExamController controller;
@override
void initState() {
super.initState();
controller = ExamController(
config: ExamConfig(
examDuration: const Duration(minutes: 1),
positiveMarks: 4,
negativeMarks: -1,
),
questions: [
ExamQuestion(
id: "1",
question: "Capital of India?",
options: ["Delhi", "Mumbai", "Chennai", "Kolkata"],
correctIndex: 0,
),
ExamQuestion(
id: "2",
question: "5 + 3 = ?",
options: ["5", "8", "10", "15"],
correctIndex: 1,
),
ExamQuestion(
id: "3",
question: "Flutter is developed by?",
options: ["Apple", "Google", "Microsoft", "Meta"],
correctIndex: 1,
),
],
);
}
@override
void dispose() {
controller.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return ExamScreen(controller: controller);
}
}