[ionic] [cordova] 배터리 아이콘을 CSS로 표시
네이티브의 api로부터, 단말의 전지의 잔량을 취득해 표시합니다.
배터리 잔량이 30% 이하로 황색, 10% 이하로 빨갛게 됩니다.
1. 플러그인을 캡처할 준비를 합니다.
bower.json{
:
"dependencies": {
"angular-translate": "~2.7.2",
"angular-translate-handler-log": "~2.7.2",
"angular-translate-loader-static-files": "~2.7.2",
"ngCordova": "~0.1.23-alpha" /* ここを追加 */
}
:
}
package.json{
:
"cordovaPlugins": [
"cordova-plugin-device",
"cordova-plugin-console",
"cordova-plugin-whitelist",
"cordova-plugin-splashscreen",
"com.ionic.keyboard",
"cordova-plugin-battery-status" /* ここを追加 */
],
:
}
2. 플러그인을 캡처하고 환경을 재구성합니다.
npm install
ionic state restore
3. cordova 플러그인에서 배터리 상태 얻기
app.jsapplication.run(function($ionicPlatform, $cordovaBatteryStatus, $rootScope) {
$ionicPlatform.ready(function() {
$rootScope.$on('$cordovaBatteryStatus:status', function (event, args) {
$rootScope.batteryLevel = args.level; // (0 - 100)
});
$rootScope.$on('$cordovaBatteryStatus:critical', function (event, args) {
$rootScope.batteryLevel = args.level; // (0 - 100)
});
$rootScope.$on('$cordovaBatteryStatus:low', function (event, args) {
$rootScope.batteryLevel = args.level; // (0 - 100)
});
});
4. 지시문 만들기
battery-icon.jsservice.directive("batteryIcon", function () {
return {
restrict: "E",
scope: {
level: '@level'
},
template: `
<style type="text/css">
.battery-width::before{width: {{level/100}}em;}
</style>
<div class="battery-full battery-width" ng-class="{yellow:level>10 && level<=30, red:level<=10}"></div>
`,
}
});
hage.css.battery-full {
font-size: 16px;
position: relative;
margin-top: 0.3em;
width: 1.6em;
height: 1.2em;
background:
linear-gradient(to bottom, #39a9d6 0%, #39a9d6 100%) 0em 0em / 1.3em 0.1em no-repeat,
linear-gradient(to bottom, #39a9d6 0%, #39a9d6 100%) 1.3em 0em / 0.1em 0.2em no-repeat,
linear-gradient(to bottom, #39a9d6 0%, #39a9d6 100%) 1.3em 0.2em / 0.3em 0.1em no-repeat,
linear-gradient(to bottom, #39a9d6 0%, #39a9d6 100%) 1.5em 0.2em / 0.1em 0.5em no-repeat,
linear-gradient(to bottom, #39a9d6 0%, #39a9d6 100%) 1.3em 0.7em / 0.32em 0.1em no-repeat,
linear-gradient(to bottom, #39a9d6 0%, #39a9d6 100%) 1.3em 0.8em / 0.1em 0.2em no-repeat,
linear-gradient(to bottom, #39a9d6 0%, #39a9d6 100%) 0em 0.9em / 1.3em 0.1em no-repeat,
linear-gradient(to bottom, #39a9d6 0%, #39a9d6 100%) 0em 0em / 0.1em 0.9em no-repeat
;
}
/* 残り */
.battery-full::before {
content: "";
position: absolute;
top: 0.15em;
left: 0.13em;
height: 0.65em;
background-color: #39a9d6;
}
.battery-full.red::before{
background-color: #f6564a;
}
.battery-full.yellow::before{
background-color: #f6a646;
}
5. 지시어 사용
hage.html<battery-icon level="{{batteryLevel}}"></battery-icon>
Reference
이 문제에 관하여([ionic] [cordova] 배터리 아이콘을 CSS로 표시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/biga816/items/785287870e76b47193b5
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
{
:
"dependencies": {
"angular-translate": "~2.7.2",
"angular-translate-handler-log": "~2.7.2",
"angular-translate-loader-static-files": "~2.7.2",
"ngCordova": "~0.1.23-alpha" /* ここを追加 */
}
:
}
{
:
"cordovaPlugins": [
"cordova-plugin-device",
"cordova-plugin-console",
"cordova-plugin-whitelist",
"cordova-plugin-splashscreen",
"com.ionic.keyboard",
"cordova-plugin-battery-status" /* ここを追加 */
],
:
}
npm install
ionic state restore
3. cordova 플러그인에서 배터리 상태 얻기
app.jsapplication.run(function($ionicPlatform, $cordovaBatteryStatus, $rootScope) {
$ionicPlatform.ready(function() {
$rootScope.$on('$cordovaBatteryStatus:status', function (event, args) {
$rootScope.batteryLevel = args.level; // (0 - 100)
});
$rootScope.$on('$cordovaBatteryStatus:critical', function (event, args) {
$rootScope.batteryLevel = args.level; // (0 - 100)
});
$rootScope.$on('$cordovaBatteryStatus:low', function (event, args) {
$rootScope.batteryLevel = args.level; // (0 - 100)
});
});
4. 지시문 만들기
battery-icon.jsservice.directive("batteryIcon", function () {
return {
restrict: "E",
scope: {
level: '@level'
},
template: `
<style type="text/css">
.battery-width::before{width: {{level/100}}em;}
</style>
<div class="battery-full battery-width" ng-class="{yellow:level>10 && level<=30, red:level<=10}"></div>
`,
}
});
hage.css.battery-full {
font-size: 16px;
position: relative;
margin-top: 0.3em;
width: 1.6em;
height: 1.2em;
background:
linear-gradient(to bottom, #39a9d6 0%, #39a9d6 100%) 0em 0em / 1.3em 0.1em no-repeat,
linear-gradient(to bottom, #39a9d6 0%, #39a9d6 100%) 1.3em 0em / 0.1em 0.2em no-repeat,
linear-gradient(to bottom, #39a9d6 0%, #39a9d6 100%) 1.3em 0.2em / 0.3em 0.1em no-repeat,
linear-gradient(to bottom, #39a9d6 0%, #39a9d6 100%) 1.5em 0.2em / 0.1em 0.5em no-repeat,
linear-gradient(to bottom, #39a9d6 0%, #39a9d6 100%) 1.3em 0.7em / 0.32em 0.1em no-repeat,
linear-gradient(to bottom, #39a9d6 0%, #39a9d6 100%) 1.3em 0.8em / 0.1em 0.2em no-repeat,
linear-gradient(to bottom, #39a9d6 0%, #39a9d6 100%) 0em 0.9em / 1.3em 0.1em no-repeat,
linear-gradient(to bottom, #39a9d6 0%, #39a9d6 100%) 0em 0em / 0.1em 0.9em no-repeat
;
}
/* 残り */
.battery-full::before {
content: "";
position: absolute;
top: 0.15em;
left: 0.13em;
height: 0.65em;
background-color: #39a9d6;
}
.battery-full.red::before{
background-color: #f6564a;
}
.battery-full.yellow::before{
background-color: #f6a646;
}
5. 지시어 사용
hage.html<battery-icon level="{{batteryLevel}}"></battery-icon>
Reference
이 문제에 관하여([ionic] [cordova] 배터리 아이콘을 CSS로 표시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/biga816/items/785287870e76b47193b5
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
application.run(function($ionicPlatform, $cordovaBatteryStatus, $rootScope) {
$ionicPlatform.ready(function() {
$rootScope.$on('$cordovaBatteryStatus:status', function (event, args) {
$rootScope.batteryLevel = args.level; // (0 - 100)
});
$rootScope.$on('$cordovaBatteryStatus:critical', function (event, args) {
$rootScope.batteryLevel = args.level; // (0 - 100)
});
$rootScope.$on('$cordovaBatteryStatus:low', function (event, args) {
$rootScope.batteryLevel = args.level; // (0 - 100)
});
});
battery-icon.js
service.directive("batteryIcon", function () {
return {
restrict: "E",
scope: {
level: '@level'
},
template: `
<style type="text/css">
.battery-width::before{width: {{level/100}}em;}
</style>
<div class="battery-full battery-width" ng-class="{yellow:level>10 && level<=30, red:level<=10}"></div>
`,
}
});
hage.css
.battery-full {
font-size: 16px;
position: relative;
margin-top: 0.3em;
width: 1.6em;
height: 1.2em;
background:
linear-gradient(to bottom, #39a9d6 0%, #39a9d6 100%) 0em 0em / 1.3em 0.1em no-repeat,
linear-gradient(to bottom, #39a9d6 0%, #39a9d6 100%) 1.3em 0em / 0.1em 0.2em no-repeat,
linear-gradient(to bottom, #39a9d6 0%, #39a9d6 100%) 1.3em 0.2em / 0.3em 0.1em no-repeat,
linear-gradient(to bottom, #39a9d6 0%, #39a9d6 100%) 1.5em 0.2em / 0.1em 0.5em no-repeat,
linear-gradient(to bottom, #39a9d6 0%, #39a9d6 100%) 1.3em 0.7em / 0.32em 0.1em no-repeat,
linear-gradient(to bottom, #39a9d6 0%, #39a9d6 100%) 1.3em 0.8em / 0.1em 0.2em no-repeat,
linear-gradient(to bottom, #39a9d6 0%, #39a9d6 100%) 0em 0.9em / 1.3em 0.1em no-repeat,
linear-gradient(to bottom, #39a9d6 0%, #39a9d6 100%) 0em 0em / 0.1em 0.9em no-repeat
;
}
/* 残り */
.battery-full::before {
content: "";
position: absolute;
top: 0.15em;
left: 0.13em;
height: 0.65em;
background-color: #39a9d6;
}
.battery-full.red::before{
background-color: #f6564a;
}
.battery-full.yellow::before{
background-color: #f6a646;
}
5. 지시어 사용
hage.html<battery-icon level="{{batteryLevel}}"></battery-icon>
Reference
이 문제에 관하여([ionic] [cordova] 배터리 아이콘을 CSS로 표시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/biga816/items/785287870e76b47193b5
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
<battery-icon level="{{batteryLevel}}"></battery-icon>
Reference
이 문제에 관하여([ionic] [cordova] 배터리 아이콘을 CSS로 표시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/biga816/items/785287870e76b47193b5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)