ngui.md

2018-11-22 18:03 更新

ngui

Class: GUIApplication

快捷方式 --> GUIApplication

Class: ViewController

快捷方式 --> ViewController

nextFrame(cb)

渲染下一幀畫面后執(zhí)行,快捷方式 --> nextFrame(cb)

New(vx[,parent[,...args]])

New(vx[,...args])

通過vx描述數(shù)據(jù)創(chuàng)建視圖或視圖控制器,快捷方式 --> New()

CSS(sheets)

定義樣式表,快捷方式 --> CSS()

isViewXml(vx[,type])

測試參數(shù)vx是否為視圖描述數(shù)據(jù)并且為type類型

如果不傳入type不檢測類型

Get: app

獲取當前GUIApplication實例

Get: root

獲取當前Root實例

Get: rootCtr

獲取當前根ViewController實例

Get: displayPort

獲取當前DisplayPort實例

Get: atomPixel

屏幕原子像素尺寸,快捷方式 --> atomPixel

Class: View

gui核心部件,用它來描述屏幕上所有可見的元素,它是所有視圖的基礎(chǔ)類型

它也是事件的響應者,這些事件由硬件以及操作系統(tǒng)觸發(fā)

包括Touch Mouse Keyboard

View.onBack

View.onClick

View.onTouchstart

View.onTouchmove

View.onTouchend

View.onTouchcancel

View.onKeydown

View.onKeypress

View.onKeyup

View.onKeyenter

View.onFocus

View.onBlur

View.onHighlighted

View.onRemoveView

View.onActionKeyframe

View.onActionLoop

View.constructor()

構(gòu)造函數(shù)調(diào)用前必需先創(chuàng)建GUIApplication否則拋出異常

Example:

import { View, Div, ngui } from 'ngui'


var v = new View();
v.x = 100;
v.y = 100;
ngui.root.append(v);


// jsx語法只能存在于.jsx文件中
var v2 = ngui.New(<Div width=100 height=100 backgroundColor="#f00" />, v);
v2.onClick.on(function(ev) {
    console.log('div click');
})

View.firstButton()

查詢內(nèi)部的第一個Button

hasChild(view)

測試view視圖是否為當前視圖的后代視圖

View.prepend(child)

前置子視圖

View.append(child)

追加子視圖

View.appendText(text)

追擊文本字符串到結(jié)尾,不同的視圖追加到結(jié)尾的最終結(jié)果不同

如: View會追加成Label, Div會追加成Text, 而Hybrid則會追加成TextNode

但追加到結(jié)尾的都為葉子視圖

View.appendTo(parent)

追加到父視圖結(jié)尾

  • @arg parent {View}

View.before(prev)

插入到前面

View.after(next)

插入到后面

View.moveToBefore();

移動到上一個兄弟視圖前面

View.moveToAfter();

移動到下一個兄弟視圖后面

View.moveToFirst();

移動到第一個

View.moveToLast();

移動到最后一個

View.remove()

從父視圖刪除

View.removeAllChild()

刪除所有子視圖

View.focus()

獲取焦點成功返回true

View.blur()

辭去焦點成功返回true

View.layoutOffset()

獲取當前視圖與父視圖之間的偏移量,不包括xy

只有Layout才有此值其它非布局視圖都為vec2(0,0)

View.layoutOffsetFrom([upper])

獲取當前視圖與upper視圖之間的布局偏移量,不包括xy值,upper必需為父級視圖

如果不傳入upper默認為parent

  • @arg [upper=parent] {View}
  • @ret {Vec2}

View.children(index)

通過索引獲取子視圖

View.getAction()

獲取當前視圖動作

View.setAction(action)

設(shè)置動作

Get: View.action

獲取動作,與getAction()功能相同

Set: View.action

設(shè)置動作,可選的值為Action或可用于創(chuàng)建Actionjson描述Object

原型為: view.setAction(action.create(json))

View.transition(style[,delay[,cb]])

View.transition(style[,cb])

創(chuàng)建過度動畫動作并立即開始播放并返回KeyframeAction

原型為: action.transition(view,style,delay,cb)

播放結(jié)束回調(diào)

Callback: cb()

View.show()

顯示視圖,默認為設(shè)置view.visible = true 當然你可以重寫該方法

View.hide()

隱藏視圖 默認為設(shè)置view.visible = false

View.screenRect()

獲取視圖實際在屏幕中最小左上角與最大右下角所形成的矩形,注意Trap in Layout

View.finalMatrix()

基礎(chǔ)矩陣與父視圖最終矩陣的乘積,注意Trap in Layout

View.finalOpacity()

當前視圖的不透明度與父視圖的最終不透明度的乘積

View.position()

獲取視圖最終在屏幕上的位置,注意Trap in Layout

實際上這個方法返回的是view.finalMatrix()最終矩陣中的translate位移分量

Trap in Layout

  • 對于Layout視圖而言,如果當前視圖或相關(guān)視圖有更改過與布局相關(guān)的屬性,

這時如果立即獲取與屏幕位置相關(guān)的屬性值或方法調(diào)用結(jié)果可能會不準確,

因為布局視圖始終都在渲染前才進行更新,這時應該使用到nextFrame(cb)這個函數(shù),

nextFrame(cb)總是在渲染完幀后執(zhí)行

View.overlapTest(point)

給定一個屏幕中上的座標點測試是否被視圖包圍

View.addClass(name)

添加class樣式選擇器

View.removeClass(name)

刪除class樣式選擇器

View.toggleClass(name)

切換class樣式選擇器

Get: View.childrenCount

返回子視圖數(shù)量

View.innerText

獲取與設(shè)置視圖內(nèi)部的文本

設(shè)置時不同的視圖結(jié)果會有所不同,與appendText(text)類似

View.id

獲取或設(shè)置id,這個id在同一個視圖控制器作作用域中不可以重復

可以通過topCtr.find(id)獲取這個視圖

Get: View.controller

Get: View.ctr

如果這個視圖擁有ViewController可通過ctrcontroller獲取它,

這個視圖稱之為關(guān)鍵視圖,ViewController稱之為成員視圖控制器,

關(guān)鍵視圖下面所有后代視圖以及子視圖控制器都屬于這個作用域中的成員,

成員視圖的top屬性都指向當前關(guān)鍵視圖,成員視圖的topCtr以及子視圖控制器的parent都指向成員視圖控制器屬性,

如果這些成員有具名的id,可以通過成員視圖控制器ViewController.find(id)找到這些成員

Get: View.top

指向關(guān)鍵視圖

Get: View.topCtr

指向成員視圖控制器

Get: View.parent

返回父視圖,Root沒有父視圖

Get: View.prev

上一個兄弟視圖

Get: View.next

下一個兄弟視圖

Get: View.first

第一個子視圖

Get: View.last

最后一個子視圖

View.x

矩陣變換中的位移translate.x

View.y

矩陣變換中的位移translate.y

View.scaleX

矩陣變換縮放x

View.scaleY

矩陣變換縮放y

View.rotateZ

矩陣變換旋轉(zhuǎn)z

View.skewX

矩陣變換斜歪x

View.skewY

矩陣變換斜歪y

View.opacity

不透明度

View.visible

顯示與隱藏true為顯示false隱藏,Layout不占用位置

Get: View.finalVisible

最終是否顯示或隱藏,受父視圖影響

View.translate

矩陣變換位移

View.scale

矩陣變換縮放

View.skew

矩陣變換斜歪

View.originX

矩陣變換的原點x,默認為0

View.originY

矩陣變換的原點x,默認為0

View.origin

矩陣變換的原點,默認為vec2(0,0)

Get: View.matrix

基礎(chǔ)矩陣,通過計算從父視圖矩陣開始的位移,縮放,旋轉(zhuǎn),歪斜得到的矩陣。注意Trap in Layout

Get: View.level

gui視圖樹中的等級level, Root視圖為1, 如果為0表示這個視圖還沒有父視圖

View.needDraw

強制必需渲染該視圖

needDraw=false

如果這個值為false在渲染優(yōu)化中會忽略沒有在屏幕范圍內(nèi)的視圖元素,

以及這個視圖下的所有后代視圖不管這些后代視圖是否在屏幕范圍內(nèi)部,

當這個值為true時會強制繪制這個視圖不管是否在屏幕范圍內(nèi)外。

View默認為true,那些可見的視圖默認都為false如:Div/Sprite/Hybrid

View.receive

是否響應接收事件,默認為false不接收,事件會穿透到最底層直到有視圖接收并處理該事件,

但當有事件監(jiān)聽時會自動設(shè)置為true,當然你可以手動關(guān)閉它。

View.isFocus

是否為焦點狀態(tài),焦點狀態(tài)可以響應鍵盤事件,以及非觸屏與非鼠標事件,當然你要確保receive為打開狀態(tài)

Get: View.viewType

返回視圖類型的id不同的視圖都有唯一的值

View.style

實際上設(shè)置與返回都為自己,這個屬性只為便捷性而存在

Get: View.class

返回class樣式表選擇器對像

Set: View.class

設(shè)置class樣式表選擇器

Example:

// Prints:
// {
//   name: "a b"
// }
view.class = 'a b'
console.log(view.class);

Class: Sprite

圖像精靈類型,非Layout視圖, 任何變化都不會激活局部布局或連鎖布局反應,

通過此它可以選取圖像任意位置大小顯示到屏幕,

在需要更高性能的地方可考慮使用它代替Image視圖

Sprite.src

圖像路徑,reader中支持的路徑協(xié)議都可以

或者使用$(path)函數(shù)讀取包內(nèi)路徑文件

Sprite.width

Default0

  • 浮點類型的寬度,這里的單位并非為像素,這要參照DisplayPort設(shè)置的尺寸與屏幕的縮放

  • 這個值也表示選取圖像的寬度,當然這個值會受ratio影響,ratio越小實際選取的圖像范圍越大

Sprite.height

浮點類型的高度 Default0

Sprite.start

  • 開始選取圖像的開始位置,這個值為圖像的實際像素值,但受ratio的影響

  • 如: 現(xiàn)在有一張實際像素為100*100像素的圖像,start設(shè)置為vec2(25,25)

如果ratio=vec2(0.5,0.5)那么實際選取的位置為圖像的vec2(50,50)的位置與ratio成反比

實際上現(xiàn)在可以將這張圖像看做為50*50比實際縮小了0.5

Defaultvec2(0,0)

Sprite.startX

選取圖像有開始位置x Default0

Sprite.startY

選取圖像有開始位置y Default0

Sprite.ratio

圖像本身的縮放比例尺,這個值越小顯示的圖像范圍越大,實際反應在屏幕上圖像比例會變得更小

Defaultvec2(1,1)

Sprite.ratioX

圖像比例尺x

Sprite.ratioY

圖像比例尺y

Sprite.repeat

圖像是否重復,默認為不重復none, 可選的值參見Repeat

  • 運行在OpenGLES 2.0模式時這里設(shè)置為重復時,可能會出現(xiàn)圖像不顯示的情況,

    因為gles2.0建議使用非2^n尺寸圖像,這有利于性能優(yōu)化,現(xiàn)在還有很多低端Android設(shè)備運行gles2.0,

所以需要盡量注意在這些設(shè)備上使用非2^n尺寸圖像

Class: Label

標簽文本視圖對像,具備簡單的文本布局,任何變化都不會激活聯(lián)鎖布局計算,在要爾更高性能的地方可考慮使用

Get: Label.length

獲取標簽視圖文本內(nèi)容長度

Label.value

獲取與設(shè)置廣本值

Get: Label.textHoriBearing

文本基線距離文本頂部的距離,不同字體與不同尺寸字號會不相同

Get: Label.textHeight

文本頂部與底部的距離

Label.textAlign

標簽文本的對齊與排列方式 Default left

支持以下方式:

  • left - 從左到右排列并且以左邊對齊

  • right - 從左到右排列并且以右邊對齊

  • center - 從左到右排列并且以居中對齊

  • leftReverse - 從右到左排列并且以左邊對齊

  • rightReverse - 從右到左排列并且以右邊對齊

  • centerReverse - 從右到左排列并且以居中對齊

Class: Layout

  • abstract class
  • extends View

  • 所有布局視圖的基礎(chǔ)類型,這是個抽象類型并沒有構(gòu)造函數(shù),

  • 繼承于它的視圖屬性的變化都會一定程度的引起布局計算,以及影響到與它相關(guān)的兄弟、父級、后代視圖的布局計算,

所以它相對于沒有自動布局運算的視圖性能要低,你可以合理使用這些類型來達到更好的性能,

  • 比如在設(shè)置尺寸時盡量使用明確的數(shù)值盡量少使用fullauto之類模糊值,模糊的值有時需要進行多次迭代布局運算才能得出結(jié)果,

甚至你可以將布局視圖與非布局視圖相互嵌套使用來阻斷連鎖布局。

Get: Layout.clientWidth

布局的clientWidth寬度,在Box中這個值包含finalMargin

Get: Layout.clientHeight

布局的clientHeight高度,在Box中這個值包含finalMargin

Class: Span

  • 這個視圖一般用來包裹TextNode并設(shè)置其文本樣式,因為TextLayout屬性具有繼承性質(zhì)

Class: TextNode

  • 文本布局的葉子視圖,它不能再存在子視圖

Get: TextNode.length

文本字符串的長度

TextNode.value

獲取與設(shè)置文本字符串

Get: TextNode.textHoriBearing

文本基線距離文本頂部的距離,不同字體與不同尺寸字號會不相同

Get: TextNode.textHeight

文本頂部與底部的距離

Class: Box

  • abstract class
  • extends Layout

盒子模型,布局的核心部件,這是個抽象類型并沒有構(gòu)造函數(shù)

Box.width

盒子的寬度,應盡量使用明確值來降低布局運算 Defaultauto

盒子的尺寸在布局運算結(jié)果中分為明確值與模糊

可選的值:

  • auto - 自動模糊值受內(nèi)部擠壓影響,擠壓也會影響到父視圖與兄弟視圖導致連鎖反應會使它們的重新布局

  • full - 設(shè)置為這個類型的值時不管父視圖是否有明確值都會填滿父視圖width

當然這里是使用clientWidth填滿,所以這里還需要marginborder參與運算。

使用這個類型的值時,如果父視圖沒有明確寬度值,會導致最長最復雜的迭代運算。

  • pixel - 明確的像素數(shù)值并非真正就義上的像素,使用浮點數(shù)表示但在這里不能為負,

1代表屏幕的多少像素需要參照DisplayPort中設(shè)置的尺寸與屏幕的縮放

  • percent - 百分比值使用10%形式表示,取父視圖width的百分比值,需要父視圖有明確width,

否則百分比值不會生效,為模糊值與auto無異

  • minus - 減小值用10!形式表示,使用父視圖的最終width減去這個值得到的值,

與百分比一樣需要父視圖有明確width值,否則減小值不會生效,為模糊值與auto無異

Box.height

盒子的高度,可選值參考height Defaultauto

Box.marginLeft

左邊的外邊距 Default0

可選的值:

  • auto - 當父視圖width與當前width都為明確值時才會生效,結(jié)果會等于父視圖最終width減去當前width

如果marginRight同時為auto這個值減半,相當于整個視圖在父視圖中居中

  • full - 與設(shè)置auto結(jié)果相同

  • pixel - 明確的數(shù)值,但不能為負數(shù)

  • percent - 使用父視圖的百分比,父視圖需要有明確寬度,否則無效

  • minus - 使用父視圖的最終width減去這個值得到的值,父視圖需要有明確寬度,否則無效

Box.marginTop

頂部的外邊距 可選值參考marginLeft Default0

Box.marginRight

右邊的外邊距 可選值參考marginLeft Default0

Box.marginBottom

底部的外邊距 可選值參考marginLeft Default0

Box.borderLeft

左邊框 Default0 #000000ff

Box.borderTop

上邊框 Default0 #000000ff

Box.borderRight

右邊框 Default0 #000000ff

Box.borderBottom

下邊框 Default0 #000000ff

Box.borderLeftWidth

左邊框?qū)挾?Default0

Box.borderTopWidth

上邊框?qū)挾?Default0

Box.borderRightWidth

右邊框?qū)挾?Default0

Box.borderBottomWidth

下邊框?qū)挾?Default0

Box.borderLeftColor

左邊框顏色 Default#000000ff

Box.borderTopColor

上邊框顏色 Default#000000ff

Box.borderRightColor

右邊框顏色 Default#000000ff

Box.borderBottomColor

下邊框顏色 Default0

Box.borderRadiusLeftTop

左上圓角尺寸 Default0

Box.borderRadiusRightTop

右上圓角尺寸 Default0

Box.borderRadiusRightBottom

右下圓角尺寸 Default0

Box.borderRadiusLeftBottom

左下圓角尺寸 Default0

Box.backgroundColor

背景顏色 Default #0000 不透明度為0的黑色

Box.newline

是否在新行開始布局 Default false

Get: Box.finalWidth

獲取最終寬度

Get: Box.finalHeight

獲取最高度

Get: Box.finalMarginLeft

獲取最終布局后的左外邊距寬度

Get: Box.finalMarginTop

獲取最終布局后的上外邊距寬度

Get: Box.finalMarginRight

獲取最終布局后的右外邊距寬度

Get: Box.finalMarginBottom

獲取最終布局后的下外邊距寬度

Set: Box.margin

同時設(shè)置全部外邊距

Set: Box.border

同時設(shè)置全部邊框

Set: Box.borderWidth

同時設(shè)置全部的邊框?qū)挾戎?/p>

Set: Box.borderColor

同時設(shè)置全部的邊框顏色值

Set: Box.borderRadius

同時設(shè)置全部的邊圓角值

Class: Div

盒子模型的一種實現(xiàn),定義內(nèi)部Box的對齊與排列方式,

并且會忽略非Box內(nèi)容的布局,不對其進行布局計算

Div.contentAlign

內(nèi)容的對齊與排列方式 Default left

  • left - 水平布局,從左到右排列布局,溢出往下?lián)Q行

  • right - 水平布局,從右到左排列布局,溢出往下?lián)Q行

  • top - 垂直布局,從上到下排列布局,溢出往右邊換行

  • bottom - 垂直布局,從下到上排列布局,溢出往右換行

Class: Hybrid

盒子模型的一種實現(xiàn),定義內(nèi)部Layout的對齊與排列方式,

并且會忽略非Layout內(nèi)容的布局,不對其進行布局計算

Hybrid.textAlign

內(nèi)容以及文本的對齊與排列方式 Default left

混合視圖只能使用水平布局:

  • left - 內(nèi)容從左到右排列并且以左邊對齊

  • right - 內(nèi)容從左到右排列并且以右邊對齊

  • center - 內(nèi)容從左到右排列并且以居中對齊

  • leftReverse - 內(nèi)容從右到左排列并且以左邊對齊

  • rightReverse - 內(nèi)容從右到左排列并且以右邊對齊

  • centerReverse - 內(nèi)容從右到左排列并且以居中對齊

Class: Limit

限制盒子,限制盒子的最小尺寸與最大尺寸

Limit.minWidth

實際為width屬性的別名,但在這里做為限制最小寬度使用

最小寬度不會超過maxWidth最大寬度的限制,如果超過取maxWidth

Default auto

Limit.minHeight

實際為height屬性的別名,但在這里做為限制最小高度使用

最小高度不會超過maxHeight最大高度的限制,如果超過取maxHeight

Default auto

Limit.maxWidth

限制最大寬度 Default auto

Limit.maxHeight

限制最大高度 Default auto

Class: Indep

獨立的盒子視圖,它的偏移位置不受布局方式的影響,布局方式以自身的對齊方式為準

Indep.alignX

水平對齊方式,默認為left,有效的值為:

  • left - 水平左對齊

  • cerent - 水平居中對齊

  • right - 水平右對齊

Indep.alignY

垂直對齊方式,默認為top,有效的值為:

  • top - 垂直頂部對齊

  • cerent - 垂直居中對齊

  • bottom - 垂直底部對齊

Class: LimitIndep

獨立的限制盒子視圖,顧名思義兼具獨立盒子與限制盒子的特性

Indep.minWidth

實為width別名,但這里做為限制最小寬度使用 --> Limit.minWidth

Indep.minHeight

實為height別名,但這里做為限制最小高度使用 --> Limit.minHeight

Indep.maxWidth

限制最大寬度 --> Limit.maxWidth

Indep.maxHeight

限制最大高度 --> Limit.maxHeight

Class: Image

  • 圖像視圖的尺寸設(shè)置為auto時會使用源圖像的像素尺寸并不會受內(nèi)部擠壓,這與Div不同

  • 如果width為明確數(shù)值height=auto時高度會按圖像比例進行縮放,

反過來height為明確數(shù)值時亦然相同,如果同時為auto使用源圖像的尺寸

Image.src

源圖像路徑,reader中支持的路徑協(xié)議都可以

或者使用$(path)函數(shù)讀取包內(nèi)路徑文件

Image.backgroundImage

背景圖像,這個屬性是為了在src圖像還在載入中時這個可以做為臨時圖像源使用

Get: Image.sourceWidth

源圖像的像素寬度

Get: Image.sourceHeight

源圖像的像素高度

Class: SelectPanel

按鈕面板視圖,它對Button有特別的作用,專門針對tv設(shè)備遙控器操作而設(shè)計

需要與Button配合使用,否則與Div無異

以下所說的切換都為按下遙控器或鍵盤時

SelectPanel.onFocusMove

內(nèi)部Button焦點切換時觸發(fā)

SelectPanel.allowLeave

是否允許內(nèi)部Button按鈕將焦點切換到外部

SelectPanel.allowEntry

是否允許外部Button按鈕將焦點切換到內(nèi)部

SelectPanel.intervalTime

切換的時間限制,離上一次切換時間不到intervalTime不允許切換

SelectPanel.enableSelect

是否允許內(nèi)部Button切換焦點

Get: SelectPanel.isActivity

是否激活狀態(tài),當內(nèi)部Button擁有焦點時為激活狀態(tài)

Get: SelectPanel.parentPanel

SelectPanel視圖

Class: Button

按鈕視圖,這個視圖默認綁定click后使用高亮樣式

Button.defaultHighlighted

是否使用高亮樣式默認,Default true

Button.setHighlighted(status)

設(shè)置高亮

Button.findNextButton(direction)

查找指定方向相鄰的按鈕,按鈕必需在SelectPanel才能查找,找不到返回null

Get: Button.panel

Class: Root

  • 根視圖,這個視圖暫時只能是唯一的但未來可能會變化

Class: BasicScroll

  • abstract class

滾動面板的基礎(chǔ)類型,這是個抽象類型并沒有構(gòu)造函數(shù)

BasicScroll.scrollTo(scroll[,duration[,curve]])

滾動到指定位置,并可指定滾動動畫的時間與曲線

  • @arg scroll {Vec2}
  • @arg [duration] {uint} ms, 過渡時間,不傳入?yún)?shù)使用defaultScrollDuration
  • @arg [curve] {Curve} 過渡的曲線,不傳入?yún)?shù)使用defaultScrollCurve

BasicScroll.terminate()

中止當前過渡或慣性運動

BasicScroll.scroll

滾動到指定位置

BasicScroll.scrollX

滾動到指定x位置

BasicScroll.scrollY

滾動到指定y位置

BasicScroll.scrollWidth

可滾動內(nèi)容寬度

BasicScroll.scrollHeight

可滾動內(nèi)容高度

BasicScroll.scrollbar

是否顯示滾動條

BasicScroll.resistance

慣性滾動阻力,最小0.5

BasicScroll.bounce

是否使用反彈 Default true

BasicScroll.bounceLock

是否鎖定反彈 Default true

當內(nèi)容尺寸小于當前Scroll尺寸時是否可以拖拽并反彈,true表示不能被拖拽

BasicScroll.momentum

拖拽是否引發(fā)慣性運動

BasicScroll.lockDirection

是否鎖定方向,只能往一個軸向滾動

BasicScroll.catchPositionX

Default 1

  • 捕獲位置x,

  • scrollX最終總是會停止在捕獲值的倍數(shù)位置,

  • 小于1表示捕獲當前Scroll視圖的finalWidth

BasicScroll.catchPositionY

Default 1

  • 捕獲位置y,小于1表示捕獲當前Scroll視圖的finalHeight

BasicScroll.scrollbarColor

滾動條的顏色

Get: BasicScroll.hScrollbar

當前是否顯示hScrollbar

Get: BasicScroll.vScrollbar

當前是否顯示vScrollbar

BasicScroll.scrollbarWidth

滾動條的寬度

BasicScroll.scrollbarMargin

滾動條的邊距

BasicScroll.defaultScrollDuration

調(diào)用scrollTo 或設(shè)置scroll時的默認滾動過渡時間,Default 0

BasicScroll.defaultScrollCurve

默認滾動曲線 Default easeOut

Class: Scroll

滾動條的實現(xiàn)

Scroll.onScroll

滾動時觸發(fā)

Scroll.focusMarginLeft

內(nèi)部按鈕切換時滾動的左邊距

Scroll.focusMarginRight

內(nèi)部按鈕切換時滾動的右邊距

Scroll.focusMarginTop

內(nèi)部按鈕切換時滾動的上邊距

Scroll.focusMarginBottom

內(nèi)部按鈕切換時滾動的下邊距

Scroll.focusAlignX

內(nèi)部按鈕切換時x軸滾動對齊方式

Scroll.focusAlignY

內(nèi)部按鈕切換時y軸滾動對齊方式

Scroll.enableFocusAlign

內(nèi)部按鈕切換時是否滾動可見位置 Default true

Scroll.enableFixedScrollSize

設(shè)置并啟用固定滾動大小,當設(shè)置值為vec2(0,0)時禁用固定滾動尺寸,使用實際內(nèi)容的滾動尺寸

Class: Text

文本葉子視圖

Get: Text.length

文本字符串長度

Text.value

獲取或設(shè)置文本字符串

Get: Text.textHoriBearing

文本基線距離文本頂部的距離,不同字體與不同尺寸字號會不相同

Get: Text.textHeight

文本頂部與底部的距離

Class: Input

單行文本輸入框

Text.type

文本鍵盤類型:

  • normal -
  • ascii -
  • number -
  • url -
  • numberPad -
  • phonePad -
  • namePhonePad -
  • email -
  • decimalPad -
  • twitter -
  • webSearch -
  • asciiNumnerPad -

Text.returnType

文本框鍵盤返回類型:

  • normal -
  • go -
  • join -
  • next -
  • route -
  • search -
  • send -
  • done -
  • emergencyCall -
  • continue -

Text.placeholder

當文本框值為空時,顯示的占位字符串

Text.placeholderColor

占位字符顏色

Text.security

是否將文本顯示為安全模式

Text.textMargin

文本內(nèi)容顯示的左右邊距

Class: Textarea

多行文本輸入框

Class: Clip

裁剪視圖,可以將溢出盒子外部的內(nèi)容裁剪掉

Class: TextFont

  • abstract class

普通文本與字體屬性,這是個抽象類型并沒有構(gòu)造函數(shù)

View.textBackgroundColor

文本背景顏色 Default inherit

View.textColor

文本顏色 Default inherit

View.textSize

文本字號大小 Default inherit

View.textStyle

文本樣式 Default inherit

  • inherit - 繼承
  • light - 細體
  • regular - 正常
  • bold - 粗體
  • ...

View.textFamily

文本字體家族名稱列表字符串,多個使用逗號分割 Default inherit

View.textShadow

文本陰影 Default inherit

View.textLineHeight

文本行高 Default inherit

可選的值為

  • inherit - 繼承
  • auto - 使用字體文件中的默認值
  • xxx - 具體數(shù)值

View.textDecoration

文本裝飾 Default inherit

  • inherit - 繼承父視圖
  • none - 無裝飾
  • overline - 上劃線
  • lineThrough - 中劃線
  • underline - 下劃線

Class: TextLayout

布局文本字體屬性,這是個抽象類型并沒有構(gòu)造函數(shù)

View.textOverflow

文本溢出動作 Default inherit

  • inherit - 繼承父視圖
  • normal - 不做處理
  • clip - 修剪
  • ellipsis - 修剪并在文本末尾顯示省略號
  • centerEllipsis - 修剪并在文本中間顯示省略號

View.textWhiteSpace

文本空格處理方式 Default inherit

  • inherit - 繼承父視圖
  • normal - 保留所有空白,使用自動wrap
  • noWrap - 合并空白序列,不使用自動wrap
  • noSpace - 合并空白序列,使用自動wrap
  • pre - 保留所有空白,不使用自動wrap
  • preLine - 合并空白符序列,但保留換行符,使用自動wrap

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號