reactnative 中關於小米文案的被截斷的處理方案

山水有相逢-馬哥哥發表於2016-09-06

處理方案有多種,簡單的來說最好的處理方法,當然是改原生的text,但是由於是相容性問題,在google還有iphone系列的手機沒有這個問題,所以還是根據實際問題實際做相容性適配。

問題出現的現象:對於可變字型的text,截斷現象特別明顯

截斷現象一:

在listView 這些裡面使用text,由於text的字串長度大小是會隨著下發的數量進行相對應的改變的,從而導致截斷。


截斷現象二:

給text設定了固定寬度和高度。導致文案截斷。

截斷現象三:

在ScrollView使用一個text去顯示一個段落,當字元數量過度的時候,最後兩段被截斷了。

總結:對於可變字型基本上都存在字型被截斷的風險

分析問題:

在解決問題之前先開啟設定-》更多設定-》開發者選項-》顯示佈局邊界  

        

比如上面,訂單詳情裡面的參與資訊,如果沒有numberOfLines={1}的話,那麼基本上“參與時間”的時間點就會被截斷,但是在其他手機比如iphone手機或者nexus手機上可能不會有階段現象,所以開發人員在寫的時候,最後每寫一個介面之後就開啟‘除錯邊界’,檢視那些text是可以變得,是由服務端下發下來的,那如果這些text

不能像右邊這樣遺落很大的空間一般都會發生文字截斷現象。

常用解決思路:

第一種:左邊不可變右邊可變,


處理思路:(1),給可變的text設定flex = 1 或者 兩個text在同一行設定一個flex : flex = 2: 3,(2)字串連線成一個text顯示,可以顯示一個text就顯示一個不用顯示在一行顯示多個

比如上面的訂單詳情中,”訂單資訊”和”參與資訊”就是做了這樣的處理

第二種:左邊可變,右邊不可變, (左右不變中間變)


處理思路: 使用paddingRight來代替marginRight

比如曬單連結串列現在的處理方式。


總結:先開啟開發者選項-》顯示佈局邊界-》凡是會發生改變的JDText場景,在提測前,先做容災處理。



相關文章