| Requirement | What to do |
|---|---|
Use a large PNG | Supply a 512x512px (or larger) PNG in mipmap-xxxhdpi/. Adaptive icons (mipmap-anydpi-v26) are not supported; use a regular PNG. |
Declare icon in manifest | Add android:icon to your activity in AndroidManifest.xml. For Portal TV, use android:banner instead. Without either, your app won’t appear on the home screen. |
Size flexible | Icons larger than needed get scaled down automatically. Missing or low-res icons are a problem, oversized ones are fine. |
mipmap-xxxhdpi/ (other density folders are ignored). Icons exceeding 192dp (or 280dp on Portal+ / Portal TV) are down sampled automatically.| Requirement | What to do |
|---|---|
Dark theme and system overlay | Portal’s system overlay is white with no background. Light apps make it invisible, so always use a dark theme. Background: #1A1A1A. Surfaces: #2B2B2B. Set darkTheme = true and dynamicColor = false. |
Color | Use Meta blue ( #0866FF) for primary actions with near-white text (#F0F0F0). Body text is #DADADA on dark backgrounds. Never use pure black (#000000) or pure white (#FFFFFF). |
Text and typography | Use Inter in Normal, Medium, or Bold weights only (no Light or Thin). Body text at 18sp, headings at 24sp Bold. Never go below 14sp. |
Touch targets | Make all touchable elements at least 52dp tall (use min-height, not fixed). Leave 16dp between buttons. Buttons are pill-shaped with Meta blue fill. |
Screen layout | Reserve the top 64dp for the system overlay. Use 16dp padding on all other sides, 16dp between sections, and 8dp within sections. Design for landscape first. |