Skip to content
Back to skills

Add Nativewind Android

ASecurity

Add NativeWind v5 (Tailwind for RN) to an Expo Android app. Use when the user says 'add nativewind', 'tailwind rn', 'tailwind android'.

  • 3 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 4, 2026
developmentgobashreact

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 2 files and shows the line behind each finding

Scanned October 4, 2026

npx -y skills add khadinakbarlabs/expo-mobile-app-builder --skill add-nativewind-android --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Add Nativewind Android?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Add Nativewind Android
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/khadinakbarlabs-add-nativewind-android/badge)](https://www.skillsdirectory.com/skills/khadinakbarlabs-add-nativewind-android)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: "add-nativewind-android"
description: "Add NativeWind v5 (Tailwind for RN) to an Expo Android app. Use when the user says 'add nativewind', 'tailwind rn', 'tailwind android'."
---

# Add NativeWind v5 (Android)

Tailwind utility classes for RN. v5 (2025) is Server Components compatible.

## Install
```bash
pnpm add nativewind
pnpm add -D tailwindcss@3.3.2
npm exec --no -- tailwindcss init
```

## Tailwind config
```js
// tailwind.config.js
module.exports = {
  content: ["./app/**/*.{js,jsx,ts,tsx}", "./components/**/*.{js,jsx,ts,tsx}"],
  presets: [require("nativewind/preset")],
  theme: { extend: {} },
  plugins: [],
};
```

## Babel
NativeWind v5 doesn't need a babel plugin (uses Metro transformer).

`metro.config.js`:
```js
const { getDefaultConfig } = require('expo/metro-config');
const { withNativeWind } = require('nativewind/metro');
const config = getDefaultConfig(__dirname);
module.exports = withNativeWind(config, { input: './global.css' });
```

`global.css`:
```css
@tailwind base;
@tailwind components;
@tailwind utilities;
```

Import in app entry:
```tsx
import './global.css';
```

## Usage
```tsx
import { View, Text } from 'react-native';
<View className="flex-1 bg-white items-center justify-center">
  <Text className="text-xl font-bold text-black">Hello</Text>
</View>
```

## When to use NativeWind vs Paper

NativeWind for:
- Custom design language
- Marketing-driven UI
- Fast prototyping

react-native-paper for:
- Standard Material 3 (less customization)
- Quick MVP
- Cross-platform consistency

Can mix: Paper components for inputs/buttons, NativeWind for layout.

## Common gotchas

- NativeWind doesn't handle Android-specific elevation natively — use `style={{ elevation: 4 }}`
- Variants for dark mode: `className="bg-white dark:bg-black"`
- Auto-import: install ESLint plugin to detect unused classes

## Pair with
- `apply-material3` if going Paper route
- `figma-to-rn-android` for design conversion

Files in this skill

  • SKILL.md1.9 KB
  • agents/openai.yaml197 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…