flutter 動(dòng)態(tài)創(chuàng)建widget 現(xiàn)在國(guó)內(nèi)使用Flutter來(lái)開(kāi)發(fā)的多嗎?
現(xiàn)在國(guó)內(nèi)使用Flutter來(lái)開(kāi)發(fā)的多嗎?國(guó)內(nèi)象閑魚(yú)這樣的開(kāi)發(fā)團(tuán)隊(duì)在Flutter領(lǐng)域的研究很深入,阿里和其他公司對(duì)這個(gè)框架也越來(lái)越重視。Flutter在國(guó)內(nèi)的普及程度還比較低,而Recent Nati
現(xiàn)在國(guó)內(nèi)使用Flutter來(lái)開(kāi)發(fā)的多嗎?
國(guó)內(nèi)象閑魚(yú)這樣的開(kāi)發(fā)團(tuán)隊(duì)在Flutter領(lǐng)域的研究很深入,阿里和其他公司對(duì)這個(gè)框架也越來(lái)越重視。
Flutter在國(guó)內(nèi)的普及程度還比較低,而Recent Native等工具似乎使用的人更多。這主要原因是國(guó)內(nèi)大部分開(kāi)發(fā)人員都從事過(guò)網(wǎng)站開(kāi)發(fā),因此對(duì)于Html和JS比較熟悉。
由于Flutter采用的是Dart語(yǔ)言,需要學(xué)習(xí)成本,而且Dart的Ui設(shè)計(jì)是純代碼,嵌套極多,對(duì)于初學(xué)者而言容易頭疼。不過(guò)任何語(yǔ)言只要用習(xí)慣了都不難,往往是萬(wàn)事開(kāi)頭難。
既然谷歌選擇了Dart必然有其深意。單純比較或者探討諸如動(dòng)態(tài)還是靜態(tài),是否支持反射等沒(méi)有意義,蘿卜白菜各有所愛(ài),支持哪一種語(yǔ)言都有道理,關(guān)鍵要看自身掌握程度。
谷歌可能擔(dān)心Java的版權(quán)問(wèn)題,因此在安卓原生語(yǔ)言上極力推薦Kotlin。但效果很差,個(gè)人感覺(jué)除非禁止使用Java,否則沒(méi)人會(huì)選擇Kotlin,這與使用JS慣了不喜歡Dart是一個(gè)道理。但是令人感興趣的是Dart可以生成JS代碼。這應(yīng)該能讓更多人選擇使用的一個(gè)原因。
由于谷歌極力推薦Flutter,這其實(shí)與其新系統(tǒng)Funchsia有關(guān),因此許多人懷疑安卓很有可能被谷歌拋棄。坦率說(shuō)我希望如此,安卓的性能是一個(gè)弱點(diǎn),雖然改進(jìn)后比以前流暢,但是天生素質(zhì)不好。谷歌正基于自己新的Zircon內(nèi)核打造新系統(tǒng),與鴻蒙思路差不多,可以支持多種平臺(tái)。
Flutter不僅僅谷歌重視,國(guó)內(nèi)巨頭也同樣關(guān)注。估計(jì)華為這樣的公司尤其重視,因?yàn)樗麄兪侵袊?guó)第一個(gè)參與測(cè)試Funchsia的企業(yè)。因?yàn)楣雀枵腔谛阅艿囊箝_(kāi)發(fā)出Flutter,在安卓端Flutter組件與原生一樣都是同樣的渲染引擎,因此性能與原生非常接近,這也是相對(duì)于其他框架的優(yōu)勢(shì)。
很多年前大家都希望H5能一統(tǒng)江湖,但是我感覺(jué)也許未來(lái)需要Dart來(lái)統(tǒng)一,這種后發(fā)優(yōu)勢(shì)可能就是谷歌創(chuàng)新的原因,以一種不妥協(xié)性能的方法又能快速開(kāi)發(fā)兼顧的特點(diǎn)將是未來(lái)的趨勢(shì)。
怎樣動(dòng)態(tài)生成控件?
//后臺(tái)生成控件(生成TextBox控件) var num = 3 //動(dòng)態(tài)生成的控件數(shù)量 for (int i = 0 i < num i ) { var name = "txt_" TextBox txt = new TextBox() txt.Name =name i txt.Text =name i txt.Location = new Point(12, 15 i * 30) this.Controls.Add(txt) }
怎么才能在窗體上動(dòng)態(tài)生成控件?
Dim ctl As Controlrem 定義一個(gè)控件類(lèi)型變量DoCmd.OpenForm "窗體12", acDesign, , , , acHiddenrem 在設(shè)計(jì)視圖以隱藏狀態(tài)打開(kāi)窗體12Set ctl = CreateControl("窗體12", acComboBox, acDetail, , , 10, 50, 3000, 440)創(chuàng)建控件ctl在窗體12中,類(lèi)型為組合框,后面為具體選項(xiàng)DoCmd.OpenForm "窗體12"執(zhí)行顯示窗體。
請(qǐng)問(wèn)各位高手,怎樣動(dòng)態(tài)生成一個(gè)控件?謝謝?
用 Controls.Remove(控件) 動(dòng)態(tài)刪除控件。注意:在VB中只能動(dòng)態(tài)刪除那些動(dòng)態(tài)添加的控件;不允許刪除在窗體設(shè)計(jì)器上布置的控件!示例如下:(1)創(chuàng)建一個(gè)VB工程(2)在Form1上布置兩個(gè)Command(3)窗體代碼12345678910111213141516171819202122232425262728293031 Option Explicit " 聲明要被動(dòng)態(tài)添加/刪除的控件Dim x As Label "-----------------------------" 動(dòng)態(tài)添加一個(gè)Label控件"-----------------------------Private Sub Command1_Click() If x Is Nothing Then Set x = Controls.Add("VB.Label", "label1") x.Move 150, 150 x.AutoSize = True x.Caption = "這個(gè)是動(dòng)態(tài)添加的標(biāo)簽" x.Visible = True End IfEnd Sub "-----------------" 動(dòng)態(tài)刪除控件"-----------------Private Sub Command2_Click() If x Is Nothing Then Exit Sub Controls.Remove x Set x = NothingEnd Sub Private Sub Form_Load() Command1.Caption = "添加控件"