Skip to content

Android: font, contentInsets, lineNumbers props #37

@LeslieOA

Description

@LeslieOA

Next slice of #32. Wire the three style/layout props that are currently no-ops on the Android ViewManager.

Scope

  • `font` — `{ family?: string; size?: number }`. Map to Sora's `editor.typefaceText` + `editor.textSizePx`. Default to system monospace at 14pt to match iOS/macOS `monospacedSystemFont`.
  • `contentInsets` — `{ top?, bottom?, left?, right? }`. Map to the editor's padding (Sora exposes `paddingTop/Bottom/Left/Right` via standard Android `View.setPadding`). Mirror the iOS `UIEdgeInsets` semantics — applied to the text container, not the editor view's frame.
  • `lineNumbers` — boolean. Sora's `CodeEditor` ships line numbers ON by default; `editor.isLineNumberEnabled = value` flips the gutter at runtime.

Replace the three no-op stubs in `SourceEditorViewManager.kt`. Forward through `SourceEditorView` setters so the prop diff path stays consistent with the existing `text` / `editable` / `language` pattern.

Update `example/expo-app/App.android.tsx` toolbar to mirror the iOS controls now that the props are real:

  • LineNumbers toggle (Pressable button with `#` label, similar to iOS Toggle)
  • Font/contentInsets stay as defaults — iOS doesn't expose toolbar UI for them either.

Refs #32.

Metadata

Metadata

Assignees

No one assigned

    Labels

    androidTested on AndroidenhancementNew feature or request

    Type

    No type

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions