An open API service indexing awesome lists of open source software.

https://github.com/natsalete/calculator

A modern and elegant calculator for Android built with Kotlin and XML, featuring an iOS-inspired design with a dark interface and circular buttons.
https://github.com/natsalete/calculator

android android-studio calculadora kotlin material-design mobile-app xml-layout

Last synced: about 1 month ago
JSON representation

A modern and elegant calculator for Android built with Kotlin and XML, featuring an iOS-inspired design with a dark interface and circular buttons.

Awesome Lists containing this project

README

          

# 🧮 Android Calculator

A modern and elegant calculator for Android built with Kotlin and XML, featuring an iOS-inspired design with a dark interface and circular buttons.

## 📱 Screenshots



## ✨ Features

### Basic Operations
- ➕ **Addition**
- ➖ **Subtraction**
- ✖️ **Multiplication**
- ➗ **Division**

### Special Functions
- 🔄 **C** - Clear screen completely
- ⚡ **+/-** - Toggle positive/negative sign
- 📊 **%** - Convert to percentage
- ⌫ **Backspace** - Delete last digit entered

### Advanced Features
- 🔢 Decimal support
- 🚫 Division by zero prevention
- 📏 Automatic formatting of large numbers
- 🎯 Input validation (avoids consecutive operators)
- 📱 Responsive interface with visual feedback

## 🎨 Design

### Color Palette
- **Background:** Black (#000000)
- **Display:** Light gray (#E5E5E5)
- **Numbers:** Dark gray (#333333)
- **Operators:** Orange (#FF9500)
- **Functions:** Medium gray (#A6A6A6)

### Visual Features
- Circular buttons with ripple effect
- Display with rounded corners
- Clear and legible typography
- Responsive 4x5 grid layout

## 🛠️ Technologies Used

- **Language:** Kotlin
- **Layout:** XML
- **IDE:** Android Studio
- **Minimum SDK:** API 21 (Android 5.0)
- **Components:**
- GridLayout for button organization
- TextView for display
- Custom drawable for styles

## 🚀 How to Run

### Prerequisites
- Android Studio Arctic Fox or higher
- Android SDK 21+
- Android Device/Emulator

### Installation Steps

1. **Clone or download the project**
```bash
git clone https://github.com/natsalete/Calculator
```

2. **Open in Android Studio**
- File → Open → Select the project folder

3. **Synchronize the project**
- Click "Sync Now" when the notification appears

4. **Run the application**
- Click the "Run" button or Press `Shift + F10`
- Select an Android device/emulator

## 💡 How to Use

1. **Numbers:** Tap the number buttons (0-9) to enter values.
2. **Decimals:** Use the "." to enter decimal numbers
3. **Operations:** Select +, -, ×, or ÷ to choose the operation
4. **Result:** Press "=" to calculate the result
5. **Clear:** Use "C" to clear completely or "⌫" to delete the last digit
6. **Functions:**
- "+/-" to toggle sign
- "%" to convert to percentage

## 🔧 Technical Features

### Error Handling
- Division by zero validation
- Display character limit
- Preventing multiple decimal points
- Formatting of very large numbers

### Validations
- Blocked consecutive operator input
- Checks for valid values ​​before calculations
- Mathematical exception handling

## 🎯 Upcoming Enhancements

- [ ] Operation history
- [ ] Advanced scientific operations
- [ ] Customizable themes
- [ ] Landscape mode support
- [ ] ] Transition Animations
- [ ] Vibration on Touches

## 👨‍💻 Developer

Developed with ❤️ for Android development learning.

## 📄 License

This project is licensed under the MIT License. See the `LICENSE` file for more details.

---

⭐ **If this project was useful to you, don't forget to give it a star!** ⭐

🇧🇷 Versão em Português

# 🧮 Calculadora Android

Uma calculadora moderna e elegante para Android desenvolvida com **Kotlin** e **XML**, apresentando um design inspirado no iOS com interface escura e botões circulares.

## 📱 Screenshots



## ✨ Funcionalidades

### Operações Básicas
- ➕ **Adição**
- ➖ **Subtração**
- ✖️ **Multiplicação**
- ➗ **Divisão**

### Funções Especiais
- 🔄 **C** - Limpar tela completamente
- ⚡ **+/-** - Alternar sinal positivo/negativo
- 📊 **%** - Converter para porcentagem
- ⌫ **Backspace** - Apagar último dígito inserido

### Recursos Avançados
- 🔢 Suporte a números decimais
- 🚫 Prevenção contra divisão por zero
- 📏 Formatação automática de números grandes
- 🎯 Validação de entrada (evita operadores consecutivos)
- 📱 Interface responsiva com feedback visual

## 🎨 Design

### Paleta de Cores
- **Fundo:** Preto (#000000)
- **Display:** Cinza claro (#E5E5E5)
- **Números:** Cinza escuro (#333333)
- **Operadores:** Laranja (#FF9500)
- **Funções:** Cinza médio (#A6A6A6)

### Características Visuais
- Botões circulares com efeito ripple
- Display com cantos arredondados
- Tipografia clara e legível
- Layout responsivo em grid 4x5

## 🛠️ Tecnologias Utilizadas

- **Linguagem:** Kotlin
- **Layout:** XML
- **IDE:** Android Studio
- **SDK Mínimo:** API 21 (Android 5.0)
- **Componentes:**
- GridLayout para organização dos botões
- TextView para display
- Drawable personalizados para estilos

## 🚀 Como Executar

### Pré-requisitos
- Android Studio Arctic Fox ou superior
- SDK Android 21+
- Dispositivo/Emulador Android

### Passos para Instalação

1. **Clone ou baixe o projeto**
```bash
git clone https://github.com/natsalete/Calculator
```

2. **Abra no Android Studio**
- File → Open → Selecione a pasta do projeto

3. **Sincronize o projeto**
- Clique em "Sync Now" quando aparecer a notificação

4. **Execute a aplicação**
- Clique no botão "Run" ou pressione `Shift + F10`
- Selecione um dispositivo/emulador Android

## 💡 Como Usar

1. **Números:** Toque nos botões numéricos (0-9) para inserir valores
2. **Decimais:** Use o botão "." para inserir números decimais
3. **Operações:** Selecione +, -, ×, ou ÷ para escolher a operação
4. **Resultado:** Pressione "=" para calcular o resultado
5. **Limpar:** Use "C" para limpar completamente ou "⌫" para apagar o último dígito
6. **Funções:**
- "+/-" para alternar sinal
- "%" para converter em porcentagem

## 🔧 Recursos Técnicos

### Tratamento de Erros
- Validação de divisão por zero
- Limite de caracteres no display
- Prevenção de múltiplos pontos decimais
- Formatação de números muito grandes

### Validações
- Entrada de operadores consecutivos bloqueada
- Verificação de valores válidos antes dos cálculos
- Tratamento de exceções matemáticas

## 🎯 Próximas Melhorias

- [ ] Histórico de operações
- [ ] Operações científicas avançadas
- [ ] Temas personalizáveis
- [ ] Suporte a modo paisagem
- [ ] Animações de transição
- [ ] Vibração nos toques

## 👨‍💻 Desenvolvedor

Desenvolvido com ❤️ para aprendizado de desenvolvimento Android.

## 📄 Licença

Este projeto está sob a licença MIT. Veja o arquivo `LICENSE` para mais detalhes.

---

⭐ **Se este projeto foi útil para você, não esqueça de dar uma estrela!** ⭐