Автор оригинала: Emeka Osuagwu.
NativeScript – это потрясающая структура для построения действительно мобильного нативного приложения, используя JavaScript, Teamscript, Angular2 или Vuejs.
Вы можете узнать больше о преимуществах использования NativeScript для вашего нового приложения Killer на своем веб-сайте.
В этом посте я покажу вам, как использовать компоненты пользовательского интерфейса Nativerscript с мощностью CSS, чтобы построить потрясающий пользовательский интерфейс для вашего следующего приложения Android или iOS.
Цель
Clone Instagram с использованием компонентов UI NativeScript.
Структура папки
your-project/ ├── app └── assets ├── images ├── css └── components ├── // all app components └── modules ├── app.module.ts └── pages ├── // all app pages └── routes ├── app.routing.ts
Давайте начнем
tns create nativescript-instagram-clone --ng
Вы можете использовать ваш предпочтительный IDE или текстовый редактор (веб-таблица, код Visual Studio, Sublime, Atom …) для редактирования файлов этого проекта, мой выбор является возвышенным.
Создайте экран входа в систему в качестве экрана приложения по умолчанию
Первый экран ваш пользователь увидит, когда они входят в их приложение, будет экраном, прося их войти. Это должно дать нам отправную точку для приезда.
Если вы на компьютере Mac или Linux, выполните следующие команды:
touch app/components/login.component.ts touch app/pages/login.html touch app/assets/css/login.css
Вышеуказанные команды создадут основы для компонента входа в систему. Если вы находитесь в машине Windows, создайте эти файлы и каталог, однако вы видите подходящую.
Мы собираемся начать разработку этого компонента, работая с нашей TyplectScript Logic. Откройте приложение Project/Component/Login.comPonent.ts и включите следующий код:
import { Page } from "ui/page" import { Component } from "@angular/core"; @Component({ selector: "ns-app", templateUrl: './pages/login.html', styleUrls: ['./assets/css/login.css'] }) export class LoginComponent { constructor ( private page: Page ) { this.page.actionBarHidden = true; } }
Теперь давайте посмотрим на HTML, который идет с нашей Teadercript Logic. Откройте приложение Project/Components/Pages/Login.HTML и файлы приложения/Assets/CSS/Login.css и включите следующую разметку:
Откройте приложение проекта/активы/CSS/login.html
.login-page { background-color: #fff; } .login-page-input-con { } .page-logo { width: 200; margin-top: 30; } .form-component { padding: 30; } .form-component-input-con{ border-radius: 5; border-style: solid; border-width: 1; border-color: #c0c0c0; margin-bottom: 18; background-color: #fafafa; } .form-component-input-con-no-boder{ margin-bottom: 18; } .form-component-input-con-input{ border-style: solid; background-color: transparent; margin-top: 7; margin-left: 15; border-color: transparent; } .form-component-input-con-button { background-color: transparent; border-color: #3E99ED; border-style: solid; color: #3E99ED; border-width: 1; margin-bottom: 18; border-radius: 5; } .form-component-input-con-forget-login-con { orientation: horizontal; padding-left: 15; font-size: 16; } .form-component-input-con-forget-login-con-lable-bold { font-weight: bold; } .line-con { margin-top: 10; } .line-con-line { border-width: 0; border-style: solid; height: 1; background-color: gray; } .line-con-text { text-align: center; font-size: 20; margin-top: 10; font-weight: bold; } .button-type-con { background-color: #3E99ED; margin-bottom: 18; border-radius: 5; orientation: horizontal; } .button-type-con-image { margin-left: 100; width: 30; } .button-type-con-text{ margin-left: 40; margin-top: 17; font-weight: bold; font-size: 20; color: #fff; } .login-page-footer { border-color: gray; border-width: 1; border-style: solid; border-right-color: transparent; text-align: center; orientation: horizontal; font-size: 17; } .login-page-footer-lable { vertical-align: center; horizontal-align: center; margin-left: 80; } .login-page-footer-lable-bold { vertical-align: center; horizontal-align: center; font-weight: bold; }
Клон это репо Чтобы запустить вышеуказанное приложение самостоятельно.
Хотел бы услышать ваши обратные связи и мысли здесь ниже и в примере репо.
Надеюсь, вы найдете это полезно!