1. 程式人生 > >Can't have more than one marked region along edge

Can't have more than one marked region along edge

問題描述:

android開發中為了保證圖示縮放後不變形會採用.9.png格式圖片,今天開發專案時根據UI設計師給的.png的圖示自己做了個.9圖示如下(“搜尋”也是做在圖片中的):

在這裡插入圖片描述
這樣是為了保證中間內容區不被縮放,但是放到專案中後build是報錯:
Can’t have more than one marked region along edge

分析:

很明顯此錯誤是指被標記的區域不能分段,可是如果不能分段則左右或者上下空白會不對稱,嘗試後發現右側和底部擴充套件區域指定後並不起作用嗎,所以嘗試了兩種方案:

  1. 把底部和右側黑線連成一條,
  2. 去除右側及底部黑線

執行後,驗證可行。

解決:

修改方案有兩種:

  1. 將右側及底部擴充套件區域去除,只留上方和左方指定擴充套件區域即可:
    在這裡插入圖片描述
  2. 把底部和右側黑線連成一條:
    在這裡插入圖片描述

至於右側和底部指定的擴充套件區域的作用後續調研後再做補充。

補充來了:

.9.PNG是在最外面一圈額外增加1px的邊框,這個1px的邊框就是用來定義圖片中可擴充套件的和靜態不變的區域。 left和top邊框中交叉部分是可拉伸部分,未選中部分是靜態區域部分。right和bottom邊框中交叉部分則是內容部分。

所以,引起報錯的原因是內容區域只能指定一塊,也就是right和bottom邊框不能分段。