Aprenda a usar o designer visual de arrastar e soltar do Pocket Code para construir interfaces de usuário para apps React, Flutter e nativos.
O Designer Visual é um dos recursos mais poderosos do Pocket Code. Ele permite criar interfaces de usuário de forma visual e gera automaticamente um código limpo e pronto para produção.
Projetar UIs na tela de um celular pode ser desafiador. Escrever o código de layout manualmente é lento e propenso a erros em telas pequenas. O designer visual resolve isso com uma interface intuitiva de arrastar e soltar.
O designer é dividido em:
| Componente | Descrição |
|---|---|
| Container | Contêiner flexível |
| Row | Elementos horizontais |
| Column | Elementos verticais |
| Grid | Layout CSS Grid |
| Stack | Elementos sobrepostos |
| Scroll | Área rolável |
| Componente | Descrição |
|---|---|
| Button | Botão com variantes |
| TextInput | Campo de texto |
| Toggle | Interruptor liga/desliga |
| Slider | Seletor de valor |
| Dropdown | Menu suspenso |
| Checkbox | Caixa de seleção |
| RadioGroup | Opções de rádio |
| Componente | Descrição |
|---|---|
| Text | Texto com estilos |
| Image | Imagens/ícones |
| Card | Cartão de informações |
| List | Lista dinâmica |
| Badge | Selo de notificação |
| Avatar | Imagem de perfil |
| Divider | Separador visual |
| Componente | Descrição |
|---|---|
| NavBar | Barra de navegação superior |
| TabBar | Navegação por abas |
| Drawer | Menu lateral |
| BottomNav | Navegação inferior |
| Breadcrumb | Navegação hierárquica |
Vamos criar uma tela de login completa, passo a passo:
Arraste uma Column para a tela e configure:
Dentro da coluna, arraste uma Image:
Adicione dois componentes TextInput:
E-mail:
Senha:
Arraste um Button:
Adicione componentes Text para:
O designer produz automaticamente um código limpo:
// Saída React
export function LoginScreen() {
const [email, setEmail] = useState("");
const [password, setPassword] = useState("");
return (
<div className="flex flex-col items-center justify-center min-h-screen bg-neutral-950 p-6">
<img src="/logo.png" alt="Logo" className="w-30 h-30 rounded-full mb-8" />
<input
type="email"
placeholder="Email"
value={email}
onChange={(e) => setEmail(e.target.value)}
className="w-full p-3 mb-4 bg-neutral-900 rounded-xl
border border-neutral-800 text-white"
/>
<input
type="password"
placeholder="Password"
value={password}
onChange={(e) => setPassword(e.target.value)}
className="w-full p-3 mb-6 bg-neutral-900 rounded-xl
border border-neutral-800 text-white"
/>
<button
className="w-full p-3 bg-blue-600 rounded-xl
text-white font-semibold hover:bg-blue-700"
>
Log In
</button>
<p className="mt-4 text-neutral-500 text-sm">
Don't have an account? <span className="text-blue-400">Sign up</span>
</p>
</div>
);
}
// Saída Flutter
class LoginScreen extends StatefulWidget {
@override
_LoginScreenState createState() => _LoginScreenState();
}
class _LoginScreenState extends State<LoginScreen> {
final emailController = TextEditingController();
final passwordController = TextEditingController();
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Color(0xFF0A0A0A),
body: Center(
child: Padding(
padding: EdgeInsets.all(24),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
CircleAvatar(
radius: 60,
backgroundImage: AssetImage('assets/logo.png'),
),
SizedBox(height: 32),
TextField(
controller: emailController,
decoration: InputDecoration(
hintText: 'Email',
prefixIcon: Icon(Icons.mail),
),
),
SizedBox(height: 16),
TextField(
controller: passwordController,
obscureText: true,
decoration: InputDecoration(
hintText: 'Password',
prefixIcon: Icon(Icons.lock),
),
),
SizedBox(height: 24),
ElevatedButton(
onPressed: () {},
child: Text('Log In'),
style: ElevatedButton.styleFrom(
minimumSize: Size(double.infinity, 48),
),
),
],
),
),
),
);
}
}
O designer lida automaticamente com a responsividade:
%, rem e flex em vez de pixels fixosConecte componentes a dados:
Salve seus designs como modelos:
O designer foi pensado para interação por toque:
| Framework | Status | Qualidade do código |
|---|---|---|
| React/JSX | ✅ Estável | Excelente |
| Flutter | ✅ Estável | Excelente |
| Android XML | ✅ Estável | Muito boa |
| SwiftUI | 🔄 Beta | Boa |
| Vue | 📋 Planejado | — |
O designer visual torna o Pocket Code o único IDE mobile onde você pode projetar e programar a partir do mesmo dispositivo. Experimente hoje e acelere seu desenvolvimento!
Designer
Baixe o app e comece a programar pelo seu celular.