Android에서는 Theme과 Style을 통해서 비주얼 속성을 미리 정의하고 재사용 할 수 있습니다. Style은 개별적인 View에 적용되는 비주얼 속성을 정의합니다. Theme은 앱 전체에 적용되는 속성들을 정의합니다. 만약 특정 Theme을 적용하면 앱 전체의 Activity, View가 영향을 받습니다. Style의 정의 및 사용 res/values 폴더에 styles.xml을 추가합니다. API 레벨 별로 Style을 적용할 수 있습니다. 예를들어 Android 5.0 (API 21) 이상에서 만 적용되어야 한다면 res/values-v21/styles.xml 형태로 정의할 수 있습니다. styles.xml에 Style을 정의해주세요. 레이아웃 XML에서 style 속성을 통해 사용할 수 있..
Android 8.0 (API 26)부터 폰트를 XML로 정의하여 사용할 수 있습니다. 글꼴 파일을 res/font/폴더에 넣고 글꼴을 정의하는 XML 파일을 추가한 후 @font/myfont 혹은 R.font/myfont 형태로 사용할 수 있습니다. Support Library 26을 사용하면 Android 4.1 (API 16) 이상의 기기에서도 사용할 수 있습니다. 폰트를 XML로 정의하기 res/font 폴더에 폰트를 추가합니다. 폰트파일은 기본적으로 TTF 폰트를 지원하며, OTF는 Android 1.6 부터 지원합니다. res/font 폴더에 XML 파일을 추가합니다. 파일명이 폰트의 리소스명이 됩니다. XML파일을 열고 폰트를 정의하는 내용을 작성합니다. 정의된 폰트를 사용하는 방법은 다른 ..
drawable과 drawable-v21 폴더만 생성되는 이유 언제부턴가 Android 프로젝트를 생성하면 res 폴더에 drawable과 drawable-v21 폴더만 생성됩니다. 과거에는 픽셀 밀도에 따라 drawable-mdpi, drawable-xhdpi ... 등의 폴더가 생성되었는데, 2015년 9월 Android Studio 1.4버전부터 Vector Asset Studio 도구가 추가되면서 drawable과 drawable-v21만 생성되도록 변경된 것입니다. drawable과 drawable-v21 폴더만 생성되는 이유를 간단히 설명하자면, Android Studio 1.4 부터 벡터 이미지를 중점적으로 사용하도록 변경되었지만 벡터 이미지는 안드로이드 v21 (5.0 롤리팝)부터 지원합니..
Import 종류 Dart 언어에서 import는 크게 3가지로 나누어집니다. 1. dart core library import : Dart Core Pageckage에서 제공하는 library의 경우 'dart:' 접두사를 사용하여 importimport 'dart:math'; 2. package import : 패키지명+/lib 폴더부터 시작되는 절대경로를 사용하여 import import 'package:package_name/absolute/path.dart'; 3. relative import : 현재 파일부터 시작되는 상대경로를 사용하여 import import '../models/user.dart'; Import 정렬순서 Dart Coding Standard에 따르면 import 구문들은 다..
파일, 폴더 작명규칙 Flutter에서 강제하는 작명규칙은 없습니다. 하지만 Dart 언어를 사용하기 때문에 Dart Coding Standard에 따라 작명합니다. 파일명은 소문자로만 구성합니다 운영체제에 따라 대소문자 처리 규칙이 다르기 때문에, 사전에 문제를 방지하기 위해 항상 소문자만 사용합니다. 파일명이 길어질 경우 구분자는 언더바('_')를 사용합니다 운영체제에 따라 허용되는 특수문자가 다릅니다. 운영체제에 따라 문제가 발생하지 않도록 언더바(_)만 사용하며 다른 특수문자(공백, 하이픈 등)은 사용하지 않습니다. 폴더명 정해진 규칙은 없지만 대게 아래와 같은 폴더명을 사용합니다. models : Model 성격의 Data Class providers, prov, viewmodels, vm : ..
Flutter에서는 코딩에 대한 구체적인 표준이나 규범을 정의하지 않고 있습니다. 하지만 Flutter는 Dart 언어를 사용하기에 Dart의 Coding Standard를 준수하여 작성하게 됩니다. 여기서는 Dart의 Coding Standard를 정리해 보았습니다. 식별자 (Identifiers) Dart에서는 UppderCamelCase, lowerCamelCase, lowercase_with_underscores 네이밍 규칙을 사용합니다. UppderCamelCase : 대문자로 시작하며, 각 단어의 시작 문자를 대문자로 합니다. (예: UpperCamelCase) lowerCamelCase : 소문자로 시작하며, 각 단어의 시작 문자를 대문자로 합니다. (예: lowerCamelCase) low..
CacaoPods는 Swift 혹은 Object-C 프로젝트에서 사용할 수 있는 의존성 관리도구입니다. .NET 진영의 Nuget이나 Node 진영의 NPM과 동일한 역할을 담당하게 됩니다. 애플에서 공식 개발한 것은 아니고, 2011년 Eloy Durán와 Fabio Pelosin에 의해 개발되었으며 가장 방대한 라이브러리 풀을 제공하고 있으며 가장 널리 사용되는 도구입니다. (애플에서는 Swift Package Manager라는 의존성관리도구를 제공하지만 라이브러리 규모에서 CocoaPods에 비해 밀리는 편입니다.) Flutter iOS 프로젝트에서도 CocoaPods을 통해 패키지를 관리하는 경우가 많습니다. 여기서는 Flutter 프로젝트에 CocoaPods를 설치하고 사용하는 방법에 대해서 소..
모바일 앱의 백엔드 서비스를 ASP.NET 프로젝트로 개발한다면, 안드로이드(혹은 아이폰)에서 ASP.NET 프로젝트(IIS Express)에 접속할 수 있어야 합니다. 그래야 디버깅을 손쉽게 진행할 수 있지요. 하지만 기본적으로 IIS Express는 외부에서의 접속을 차단하기 때문에, 몇가지 설정이 필요합니다. 이 포스트에서는 IIS Express를 외부에 노출시키는 방법에 대해 설명합니다. 먼저 IIS Express가 실행되는 PC의 IP를 확인해주세요. 여기서는 "192.168.0.143"이라고 가정합니다. 방화벽에 예외를 추가해주세요. 만약 ASP.NET 프로젝트에서 사용하는 포트번호가 "49393"이라면 다음과 같은 명령어로 예외를 추가할 수 있습니다. netsh advfirewall fire..
Android에서는 dp(Density-independent Pixel) 단위를 썼다면, Flutter에서는 Logical Pixel 단위를 사용합니다. 단위만 다를 뿐 실제로 안드로이드의 dp 단위와 동일합니다. 이미지의 경우에는 res/drawable-* 형태의 폴더명으로 이미지를 분류했다면, Flutter에서는 iOS와 동일하게 2.0x, 3.0x와 같은 폴더명을 사용하여 이미지를 분류합니다. Density dots per inch dots per cm Flutter Image Folder ldpi 120 47.2 0.75x mdpi 160 62.9 1.0x hdpi 240 94.5 1.5x xhdpi 320 125.9 2.0x xxhdpi 480 188.9 3.0x xxxhdpi 640 251.9..
Flutter을 통해 MaterialApp을 생성할 때 ThemeData를 통해서 전체적인 Theme을 설정할 수 있습니다. class MainApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: 'Flutter', theme: ThemeData( primaryColor: Color(0xFF174378) ), ); } } ThemeData를 통해 세세한 색상 값을 일일이 설정할 수 있습니다. 그러나 모든 색상을 하나하나 조절하는 것은 상당히 번거로운 작업일 수 있습니다. ThemeData({ Brightness brightness, VisualDensity visualDen..
- .NET Standard
- React
- Xamarin.Forms
- Xamarin.Forms eBook
- Vue
- flutter
- material-ui
- c#
- ios
- Android
- MS SQL
- TypeScript
- npm
- Xamarin
- Xamarin.iOS
- ASP.NET Core
- WPF
- Xamarin.Forms 요약
- VisualStudio
- StringComparison
- Total
- Today
- Yesterday