1. 程式人生 > >ionic開發常見問題及解決方案(三)

ionic開發常見問題及解決方案(三)

1 .如何生成應用圖示與啟動頁面背景:安卓iOS

a.進入resources資料夾;

b.把resources目錄下預設的icon(應用圖示)和splash圖示(啟動介面圖示)換成當前APP對應的圖示;

c.把resources目錄下android和ios資料夾刪除

d. 執行ionic resources 命令,會自動生成各種尺寸的圖示。


注意:
     I.  icon影象檔案大小最小192×192 px,且不能為圓角;splash影象檔案大小最小2208x2208px。格式可以為 .png.psd.ai

     II.  ionic resources 執行以後發現沒有生成,首先檢查圖片尺寸(必須滿足條件),其次是網路。

     III .若是ios與安卓的圖示需要有區別的話,則將對應的圖示如下放置  resources/android/icon.png
;resources/ios/icon.png 可參考:[Ionic 自動建立應用的圖示與啟動畫面【譯】] http://ionichina.com/topic/54e455ab2be672f1111c01e2 http://blog.csdn.net/zapzqc/article/details/42237935
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

2 . ionic 開發應用時,發現在某些小螢幕裝置上個別頁面有問題,在大屏上沒有問題。如在iPhone4s (3.5寸)和iPhone5s等上有問題。

解決方案:

     可以個這些裝置專門寫一些樣式處理問題。
     利用css中的media來:例:
      @media screen and (max-width: 320px) {
        .leftText {
            float: left;
            display: inline;
            font-size: 13px;
        }
    }
    上面的例子是說:當螢幕寬度<=320px   (iPhone 5s的寬度)
    時候,leftText類的css樣式為 float: left;display: inline
; font-size: 13px; 具體可參考:【css判斷不同解析度顯示不同寬度佈局實現自適應寬度】http://www.jb51.net/css/151312.html
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

3. ionic使用 HTML5 中type=”date” 以及type=”time” 如何設定日期格式,與時間制

問題  :日期:我們有些裝置日期是英文,有些是中文,有些是日文等等 ;
       時間:有些是12小時制,有些是24小時制;上午,下午,各種語言都有;   

解決方案:如果使用這個date 或time呼叫系統的日期或者時間選擇器,是無法控制的,因為選擇器是根據裝置系統來的,使用者設定什麼就是什麼語言或時間制;
        除非放棄type="date"  以及type="time";

        當然,angularJS提供了過濾器,可以使我們將使用者選擇的資料格式化,也就是說不管使用者的語言或者時間制是什麼,我們都能將資料格式化然後傳給後臺 ;
        例:
         var confObj = {
                "dateItemNew": $filter('date')(new Date(originalPostObj.dateItem), 'yyyy-MM-dd'),
                "startTimeNew": $filter('date')(new Date(originalPostObj.startTime), 'HH:mm'),    
                "applicationTypeNew": originalPostObj.applicationType
             };
        originalPostObj是選擇框傳過來的資料,

        dateItem(input type="date")是一個日期格式字串:例如 :Mon Oct 10 2016 08:00:00 GMT+0800 (中國標準時間),時間是預設加上去的;

        startTime(input type="time")也是Thu Jan 01 1970 12:12:00 GMT+0800 (中國標準時間);日期是預設加上去的


      需求是:將dateItem格式化為yyyy-MM-dd
               startTime格式化為HH:mm


使用$filter 如程式碼所示:

注意 需要     .controller('ApplicationCtrl', ['$filter', function( $filter) {           }])




附錄 : 若是非要使用特定的選擇器。。。。只能使用彈出框選擇器了,  
https://github.com/ahmerafzal/Ionic-Datepicker 
 (在ios上最好還是用原生的因為漂亮,彈出框不怎麼美觀;
 安卓上的話,可以用第三方的,因為原生的不怎麼美觀。
 其實吧,沒必要規定選擇器的格式啊,就根據使用者的裝置唄,
 騰訊的手機qq就是根據使用者的系統來的。。。。
 當然,最主要的是說服產品)


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41

4. cordova plugin add cordova-plugin-device 失敗 報錯:

Error: connect ETIMEDOUT 50.17.177.14:80
    at Object.exports._errnoException (util.js:873:11)
    at exports._exceptionWithHostPort (util.js:896:20)
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1077:14)
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

解決方法:

換成:
cordova plugin add https://github.com/apache/cordova-plugin-device.git
  • 1
  • 2