Title: [Feature] CustomSwitchView — Apple-style toggle switch
Labels: enhancement, view
Summary
Add a CustomSwitchView to the view module that replicates the smooth, minimal toggle switch seen in iOS/macOS — satisfying the library's core concept of zero external dependencies.
Design Reference
iOS UISwitch behavior:
- Rounded pill-shaped track (thumb + track)
- Thumb slides left ↔ right with spring-like animation
- Track color transitions smoothly (e.g., gray → green)
- Supports tap and drag-to-toggle gestures
Expected API
<hmju.widget.view.CustomSwitchView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:switchChecked="true"
app:trackColorOn="@color/green"
app:trackColorOff="@color/gray"
app:thumbColor="@color/white"
app:animationDuration="250" />
switchView.setOnCheckedChangeListener { isChecked -> }
switchView.isChecked = true
Acceptance Criteria
Title: [Feature] CustomSwitchView — Apple-style toggle switch
Labels: enhancement, view
Summary
Add a CustomSwitchView to the view module that replicates the smooth, minimal toggle switch seen in iOS/macOS — satisfying the library's core concept of zero external dependencies.
Design Reference
iOS UISwitch behavior:
Expected API
<hmju.widget.view.CustomSwitchView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:switchChecked="true"
app:trackColorOn="@color/green"
app:trackColorOff="@color/gray"
app:thumbColor="@color/white"
app:animationDuration="250" />
switchView.setOnCheckedChangeListener { isChecked -> }
switchView.isChecked = true
Acceptance Criteria