Design for Android - 給Designer的小小建議(一)
嗯呃...最近真的寫程式畫UI搞得我
重點是,如果你做過網頁做過Flash甚至做過iOS UI Design,歡迎大家來跟Android app攻城屍合作,但是合作之前可能你會有幾點需要了解的:
我知道台灣很多設計師之前都做網頁跟Flash的,或者有很多人設計Mobile UI是iOS先弄再來考慮Android,但是Flash跟iOS有個Android沒有的特色,就是"長寬大小可以固定"(iOS的iPhone 5有變長,但是還是比Android好解決),例如我寫一個Flash可以固定在1024x768,然後更大的螢幕我就讓它embed區域置中,而且也不太需要考慮DPI的問題(好啦,retina display出來之前是這樣XD),更不用考慮"長寬比"的問題。差別在哪裡呢?最大的差別就是,大小固定的狀態之下你可以把按鍵或者任何"可按範圍"的大小跟位置都寫死成px的單位,例如先貼一張背景大圖,左上角有一朵雲在50,50的位置、可按大小是100x60、然後右下角有一棟房子八啦八啦,我知道超多Flash的主選單設計成這樣的,但是能不能拜託你們不要把這東西帶到手機上啊。
回到Android的世界,這樣的設計會有什麼問題呢?Android UI在Layout的時候是沒人在用px這種東西的,Android UI基本的長度單位是dp(詳細說明,不好意思,英文的),它的定義是無視螢幕密度的pixel,講白一點就是1dp在不同實體螢幕看到的"物理長度"應該要是大約一樣的(但是不會完全一樣),實際上160dp約是1英吋左右的長度。所以把px寫死的作法,換成把dp寫死的時候,遇到dpi跟解析度不同的螢幕時,可按的位置就可能會跑掉,也就是說在大圖上面蓋透明按鈕的作法,在Android上是行不通的,真的要做的話就請把能按的部份乖乖切出來,並且背景圖跟可按圖樣要能設計成適應不同解析度跟長寬比......很麻煩對不對,所以請不要在手機上做這種設計吧。
(好吧,我承認這個問題還是有解,因為我遇到了這種設計所以不得不做出來,目前的唯一解法應該是背景大圖用ImageView、scaleType設fitXY,前景的透明Button請放在LinearLayout裡,大小全部用layout_weight去調,不要管IDE給你的"nested wight"警告XD,這樣做唯一的缺點就是會跟著螢幕長寬被拉變形,反正變形跟留黑邊總是要挑一個,至少變形的比較好做(爆))
另外一個跟dp相關的問題就是,因為現在該死的超大螢幕Android手機非常多,所以設計上最好要考慮到各種螢幕大小的情形,不然就會變成一直被客戶或使用者抱怨,然後工程師只能慢慢調。基本上Android官方喜歡的設計是左右寬度拉到底(match_parent),然後上下可以按照大小調整高度,太高就要可以捲動(wrap_content or XXdp + ScrollView or ListView),但是因為設計師跟客戶的異想天開天馬行空設計,常常會把高度限制住,有時候甚至不給scroll,那就要考慮你的內容的dp長度是不是能在大小螢幕手機都塞得下,看是要乾脆都設成layout_margin(邊界寬度)以內的都是內容,或是寫死一個dp大小。不管是哪種情形的設計,其實工程師都很可能還是得做額外調整,請大家愛用value-swXXXdp/dimen.xml,雖然這東西API 11才有,不過反正大螢幕的手機都是新的XDrz。
2. 提供檔案時請注意下列事項:
(好吧,我承認這個問題還是有解,因為我遇到了這種設計所以不得不做出來,目前的唯一解法應該是背景大圖用ImageView、scaleType設fitXY,前景的透明Button請放在LinearLayout裡,大小全部用layout_weight去調,不要管IDE給你的"nested wight"警告XD,這樣做唯一的缺點就是會跟著螢幕長寬被拉變形,反正變形跟留黑邊總是要挑一個,至少變形的比較好做(爆))
另外一個跟dp相關的問題就是,因為現在
2. 提供檔案時請注意下列事項:
- Android要放在res目錄包進apk的圖檔命名,檔名只能有小寫字母+數字+底線"_",所以請不要有"大寫字母"跟"-",我知道用Windows的人很多,但是請替mac和linux user著想,而且Android本來就是linux kernel,大小寫是分開的。
- 單色背景、文字顏色跟文字陰影顏色,可以直接給ARGB色碼,讓工程師自己寫xml就好。
- 比較簡單的按鈕背景或者單純的區塊背景,請盡量作成可以nine-patch化的樣子,當然可以作成Android吃的.9.png最好,但是沒有的話至少讓工程師可以自己做,如果堅持要用陰影比較複雜的圖檔,那就要有pixel被scale之後糊掉的心理準備XDrz
- 可以按的區域請至少提供按下去(pressed)之後的效果,事實上Google官方會希望你連被聚焦都做(focused,就是被"選擇"但是還沒點下去,找個網頁按tab你就知道了XD)。
- 圖檔會需要不同dpi的版本,如果想要支援比較舊的手機(或者平板XDrz),那從ldpi(0.75X),mdpi(1X),hdpi(1.5X),xhdpi(2X)(例如S3跟note),xxhdpi(3X)(S4跟butterfly)都會需要支援,如果不想管太舊的(還有平板XDDrz),那就把ldpi忘了吧(?),如果圖檔很多又很大,那還是把xxhdpi忘了吧(不然apk size真的會爆,尤其png的bit數還設很高的,破百沒問題),被忽略的手機上的圖就可能會有點糊(小變大)或者跑不動(大變小),其實小圖拉大我個人看起來是沒差很多啦(裝死)。然後如果覺得準備那麼多解析度很煩,那就做個最大的叫工程師自己用xnview或automator自己resize吧(爆),反正這樣也省得一直傳檔案。
3. 做Android UI跟iOS也不一樣,真的不一樣
這個多到應該另外開一篇文章來講,總之雖然很多東西跟元件要作成iOS style也不是辦不到,但是不建議,真的不建議,因為使用者習慣和平台UX設計就完全不同了,混在一起會讓工程師困擾,使用者困擾,最後只有少做一套的設計師跟自以為很統一的客戶笑得出來...
而且Google官方很強調這點,某次GTUG的時候Google advocator就講過,剛好這幾天Android Developer官方影片也有提到:影片連結
這個影片的東西值得翻譯成中文再寫一篇了XD,我們下次再見
Main Ref: http://petrnohejl.github.io/Android-Cheatsheet-For-Graphic-Designers/
這個多到應該另外開一篇文章來講,總之雖然很多東西跟元件要作成iOS style也不是辦不到,但是不建議,真的不建議,因為使用者習慣和平台UX設計就完全不同了,混在一起會讓工程師困擾,使用者困擾,最後只有少做一套的設計師跟自以為很統一的客戶笑得出來...
而且Google官方很強調這點,某次GTUG的時候Google advocator就講過,剛好這幾天Android Developer官方影片也有提到:影片連結
這個影片的東西值得翻譯成中文再寫一篇了XD,我們下次再見
Main Ref: http://petrnohejl.github.io/Android-Cheatsheet-For-Graphic-Designers/
凌晨1:44
Android
,
App design
,
UI
,
UX
四天寫了一個新app
先講一下之前的app的情形,簡單來說就是,我真的把舊app都下架了,因為就算有時間也不是很想更新資料,而且非官方的Costco論壇有做Mobile介面,應該還夠大家用吧?(話說我自己也很久沒買Costco的東西了,反正附卡家人有在用。)
另外就是這個新的app了,新的app是一個LBS的app,正確來說它是一個LBBBS(Location-based bulletin board system),基於地點的留言板。概念的來源很簡單,PTT不是都有地方板嗎?為什麼不開一個手機用的,還可以自動偵測地點耶。就這樣。
當初想到這個東西之後,網路上真的隨便查都有類似的,例如這個YC出身的MessageParty (已經關了),還有一些我已經忘記名字的,最近隨便查也有一些新的像是Mixer之類的。但是好像都沒有一個做起來的喔?XD
無論如何,人家做不起來沒關係,我也做不起來也很正常,但是可以做為什麼不做出來玩玩看?順便練習一下一些不熟的工具也不錯。
所以這個app就上架了,兩天寫後端兩天寫app,上架,就這麼簡單。
Play連結: 點這裡
為什麼可以那麼快上架呢,當然是因為我把功能砍到最低底限了XD
這個app的功能就只有找附近留言板,建立現在地點的留言板,看留言,寫留言,這樣而已。
而且完全沒做登入功能,也完全沒有安全性跟隱私可言,如果稍微有點技術底的人也可以輕鬆做出幾千公里外的留言板,或者直接寫程式把資料庫塞爆。
不過沒差啦,因為這次用的是heroku+MongoLab,爆了也不會跟我要錢啊XD
來數一下技術的東西吧,後端是用Play Framework寫的,只有要寫簡單的API所以很快,然後丟上heroku讓它跑,稍微麻煩的只有跟MongoLab接起來的地方,照慣例是用gson做ORM直接塞MongoDB,
小Bug還很多啦,像是我要了fine location的權限,但是完全忘記寫程式去要GPS定位資料,所以現在用的應該都只有AGPS。不過會不會改就看有沒有人要用啦,我是覺得應該沒有啦XD。我自己倒是覺得可以拿來留一些廢話,像是去到辦公室就留言當打卡,去到哪邊吃飯就開個留言板評論一下,也不錯啦。
下次想做的東西是遺失物公告整合查詢資料庫,因為最近掉了東西滿難過的,打算拿這個去g0v玩玩......
好市多購物資訊0.7.7版更新
說好的掌中小財神更新呢???
(跪)
----
網址: https://market.android.com/details?id=tw.cosecant.costshopping
(一樣可能要等一下才會上Market XD)
0.7.7:
1. 修正小問題
2. 資料更新按鈕移至折價券列表下方
3. 增加刪除單週過期資訊選項
4. 增加分店檢視模式
這次一樣放出有無廣告兩版的APK檔~
希望大家下載了自己用就好,
要分享或轉貼的話,請盡量分享網誌的網址~ 謝謝~ !!
APK檔點此下載 無廣告版本APK檔
連結失效的話請提醒我,謝謝XD
----
兩個app都有一堆想改的,但是有更重要的事情在等著我完成啊!! Orz
凌晨1:12
Android
,
Android Market
,
Costco
,
My Apps
好市多購物資訊0.7.1版更新
網址: https://market.android.com/details?id=tw.cosecant.costshopping
(可能要等一下下才會在Market上看到XD)
0.7.1版又更新了...主要是修正購物提醒重開機之後會被系統清掉...
但是安裝到SD卡的話,這個修正基本上沒什麼用Orz....
Android系統本身呢...本來就不建議這種有設鬧鐘的程式安裝到SD卡...@@
所以不想要提醒失效的人,記得不要裝到SD卡喔XD
0.7.0版更新,主要是增加購物清單與提醒的功能,
所以多了手機振動的權限!
新功能有︰
1. 折扣列表按手機上的menu鍵(選單鍵),可清除過期優惠專案,但不會清除已過期的當月優惠資訊。
2. 購物清單功能開放,可在折扣列表點選商品新增。
3. 購物清單具有提醒功能,提示訊息會出現在上方狀態列,手機需已開機才會提醒。
4. 購物清單按menu鍵,可清除所有過期或已買之商品。
5. 購物清單點選商品,可對單一商品做修改數量、取消提醒、設為已買等設定,但無法修改提醒時間。
另外有很多人可能因為刷機或Market過濾問題,所以無法下載,
這邊放APK檔給大家試試看,以後的更新也都是從網誌發佈~
不過裝APK不保證能正常運作喔XD
另外因為上次寫出很恐怖的bug,為了補償,這次一併放出無廣告的APK檔~
希望大家下載了自己用就好,
要分享或轉貼的話,請盡量分享網誌的網址~ 謝謝~ !!
APK檔點此下載 無廣告版本APK檔
連結失效的話請提醒我,謝謝XD
(可能要等一下下才會在Market上看到XD)
0.7.1版又更新了...主要是修正購物提醒重開機之後會被系統清掉...
但是安裝到SD卡的話,這個修正基本上沒什麼用Orz....
Android系統本身呢...本來就不建議這種有設鬧鐘的程式安裝到SD卡...@@
所以不想要提醒失效的人,記得不要裝到SD卡喔XD
0.7.0版更新,主要是增加購物清單與提醒的功能,
所以多了手機振動的權限!
新功能有︰
1. 折扣列表按手機上的menu鍵(選單鍵),可清除過期優惠專案,但不會清除已過期的當月優惠資訊。
2. 購物清單功能開放,可在折扣列表點選商品新增。
3. 購物清單具有提醒功能,提示訊息會出現在上方狀態列,手機需已開機才會提醒。
4. 購物清單按menu鍵,可清除所有過期或已買之商品。
5. 購物清單點選商品,可對單一商品做修改數量、取消提醒、設為已買等設定,但無法修改提醒時間。
另外有很多人可能因為刷機或Market過濾問題,所以無法下載,
這邊放APK檔給大家試試看,以後的更新也都是從網誌發佈~
不過裝APK不保證能正常運作喔XD
另外因為上次寫出很恐怖的bug,為了補償,這次一併放出無廣告的APK檔~
希望大家下載了自己用就好,
要分享或轉貼的話,請盡量分享網誌的網址~ 謝謝~ !!
APK檔點此下載 無廣告版本APK檔
連結失效的話請提醒我,謝謝XD
下午3:00
Android
,
Android Market
,
Costco
,
My Apps
恐怖的".nomedia"...Orz
話說Android上有一個很不直覺的功能.....
各個看圖程式、音樂影片播放程式,
必須到SD卡的所有資料夾搜尋相關檔案列表,
那如果有個資料夾不想被掃描到該怎麼做?
就得要在該資料夾裡加上一個很不直覺的檔案叫".nomedia",
為什麼是用"點"當檔名開頭呢?
那是因為這種檔名是Linux系統下的隱藏檔格式.....
有很多人根本不知道這件事,
所以就只能讓蘋X日報的app在你的相片集裡放滿新聞照片...囧
但是其實...app是可以解決這件事的! 雞婆一點在自己資料夾裡放.nomedia就好了嘛!
..............然後就會出現像我這種把.nomedia塞到SD卡根目錄的笨蛋 (翻桌)
我對不起大家......T______T
我以後不會再半夜兩三點寫code了.....<(_ _)>
各個看圖程式、音樂影片播放程式,
必須到SD卡的所有資料夾搜尋相關檔案列表,
那如果有個資料夾不想被掃描到該怎麼做?
就得要在該資料夾裡加上一個很不直覺的檔案叫".nomedia",
為什麼是用"點"當檔名開頭呢?
那是因為這種檔名是Linux系統下的隱藏檔格式.....
有很多人根本不知道這件事,
所以就只能讓蘋X日報的app在你的相片集裡放滿新聞照片...囧
但是其實...app是可以解決這件事的! 雞婆一點在自己資料夾裡放.nomedia就好了嘛!
..............然後就會出現像我這種把.nomedia塞到SD卡根目錄的笨蛋 (翻桌)
我對不起大家......T______T
我以後不會再半夜兩三點寫code了.....<(_ _)>
安裝程式在SD卡時Unknown Error -18的正確解決方式
-------------------
本文曾發表於Mobile01
(不知道為什麼還是一直有人在M01問同樣的問題啊啊啊XDDDD)
-------------------
之前遇到這個問題,找了一下才找到正確的解決方式,
這邊好像沒有po過,就來po一下吧!
症狀:
安裝在SD卡的程式無法更新 & 自動安裝在SD卡的程式(Angry Birds就是)無法安裝
下載之後會在安裝的時候失敗,如果是APK檔會直接顯示"應用程式沒有安裝"之類的訊息
如果按下安裝之後,讓畫面停留在程式說明頁面,則下載後會跳出"安裝失敗 Unknown Error -18"的訊息
發病對象:
Android 2.2機種,包括原生Desire 2.2的ROM
或者2.1之前有做App2SD的好像也有可能遇到 (不確定)
解決方法:
在Angry Birds的討論串,有人說把SD卡卸載,讓先它裝到手機就可以了
但是這似乎是治標不治本的方式,而且空間不夠大就不能這樣做了,
網路上查到的根本解決方法則是
1. 從Windows進入你的SD卡(或者用adb shell),找到".android_secure"這個目錄
2. 找到裡面smdl2tmp1.asec這個檔案,砍了他!
3. 祈禱會有效!
.......因為似乎不是所有發生相同問題的手機都是這個原因,
所以大家就當參考試試看吧!
本文曾發表於Mobile01
(不知道為什麼還是一直有人在M01問同樣的問題啊啊啊XDDDD)
-------------------
之前遇到這個問題,找了一下才找到正確的解決方式,
這邊好像沒有po過,就來po一下吧!
症狀:
安裝在SD卡的程式無法更新 & 自動安裝在SD卡的程式(Angry Birds就是)無法安裝
下載之後會在安裝的時候失敗,如果是APK檔會直接顯示"應用程式沒有安裝"之類的訊息
如果按下安裝之後,讓畫面停留在程式說明頁面,則下載後會跳出"安裝失敗 Unknown Error -18"的訊息
發病對象:
Android 2.2機種,包括原生Desire 2.2的ROM
或者2.1之前有做App2SD的好像也有可能遇到 (不確定)
解決方法:
在Angry Birds的討論串,有人說把SD卡卸載,讓先它裝到手機就可以了
但是這似乎是治標不治本的方式,而且空間不夠大就不能這樣做了,
網路上查到的根本解決方法則是
1. 從Windows進入你的SD卡(或者用adb shell),找到".android_secure"這個目錄
2. 找到裡面smdl2tmp1.asec這個檔案,砍了他!
3. 祈禱會有效!
.......因為似乎不是所有發生相同問題的手機都是這個原因,
所以大家就當參考試試看吧!
上午10:26
Android
,
Android Market
,
Android系統
,
App安裝
Angry Birds(及其他遊戲app)的成功之處
一個好的手機遊戲(甚至所有遊戲)應有的元素,Angry Birds做到了哪些?
一些基本的例如流暢的遊戲速度,基本的角色設定就不用提了,
Angry Birds跟其他爆紅的遊戲多半有某些特色:
1. 耐玩度:
耐玩度=關卡的數量+難度的提昇+成績成就的追求。
當然如果只是不斷的增加難度(Ex: Robo Defense),也許玩膩的速度還是會很快。
但是Angry Birds這三者可以說都有做到,關卡不斷擴充、得到三顆星成績的難度...等等
要讓玩家在遊戲裡獲得成就感是很重要的,
難度太簡單玩家會覺得自己被當笨蛋、太難的話則會覺得自己真的是笨蛋......
另外同時有"時間或空間的因素"可以讓玩家不斷微調是很重要的,
這次失敗了下次重來,要用什麼不同的方法?
如果只有三個選項,很快就試完了,但是Angry Birds有許多角度可以試驗,
也因此,我懷疑他們在物理引擎中加入了一些亂數的成份......XD
2. 介面的流暢度與方便性:
這裡的流暢度不只是拉彈弓時不lag...(事實上廣告出來的時候通常很lag...XD)
而是整體介面的設計,按每一個按鍵都要非常快能反應,
尤其是"重來"這個按鍵,影響到前面所說的"耐玩度"很深...
因為一瞬間就能重來,所以就會讓人不斷想重來XD
跳出的時候也能很快就跳出,一直按BACK鍵就可以了(但是RIO版本這樣按會卡在最後一步XD)。
方便性則是手機遊戲另一個很重要的重點,
這點Angry Birds做到了一件許多app作不到的事--只要單手就能玩。
沒錯,只要用左手就能玩了,右手如果正握著電車的握環,你能玩的只剩下Angry Birds...XD
這點還要配合遊戲節奏才能辦到,不然就算你做出只用單手就能玩的射擊/格鬥遊戲,那也沒什麼差...
其他的想到再補吧,這兩大類就已經夠重要的了。
一些基本的例如流暢的遊戲速度,基本的角色設定就不用提了,
Angry Birds跟其他爆紅的遊戲多半有某些特色:
1. 耐玩度:
耐玩度=關卡的數量+難度的提昇+成績成就的追求。
當然如果只是不斷的增加難度(Ex: Robo Defense),也許玩膩的速度還是會很快。
但是Angry Birds這三者可以說都有做到,關卡不斷擴充、得到三顆星成績的難度...等等
要讓玩家在遊戲裡獲得成就感是很重要的,
難度太簡單玩家會覺得自己被當笨蛋、太難的話則會覺得自己真的是笨蛋......
另外同時有"時間或空間的因素"可以讓玩家不斷微調是很重要的,
這次失敗了下次重來,要用什麼不同的方法?
如果只有三個選項,很快就試完了,但是Angry Birds有許多角度可以試驗,
也因此,我懷疑他們在物理引擎中加入了一些亂數的成份......XD
2. 介面的流暢度與方便性:
這裡的流暢度不只是拉彈弓時不lag...(事實上廣告出來的時候通常很lag...XD)
而是整體介面的設計,按每一個按鍵都要非常快能反應,
尤其是"重來"這個按鍵,影響到前面所說的"耐玩度"很深...
因為一瞬間就能重來,所以就會讓人不斷想重來XD
跳出的時候也能很快就跳出,一直按BACK鍵就可以了(但是RIO版本這樣按會卡在最後一步XD)。
方便性則是手機遊戲另一個很重要的重點,
這點Angry Birds做到了一件許多app作不到的事--只要單手就能玩。
沒錯,只要用左手就能玩了,右手如果正握著電車的握環,你能玩的只剩下Angry Birds...XD
這點還要配合遊戲節奏才能辦到,不然就算你做出只用單手就能玩的射擊/格鬥遊戲,那也沒什麼差...
其他的想到再補吧,這兩大類就已經夠重要的了。
下午5:01
手機遊戲
,
Android
,
Angry Birds
,
Game Apps
掌中小財神更新囉
是的,經過了兩個月終於更新了,
其實中間大部分時間都在忙別的事,
例如重感冒兩週、搬家搬了快一整個月...
(用機車搬家的窮工程師= =)
改版紀錄:
========
Ver. 0.8.0
新功能:
1.提高彩券上限至500筆
2.支援包牌與系統配號投注,對獎時僅取最大獎顯示
(請在選號時按menu鍵設定!)
3.彩券管理介面可以選擇排序方式,按menu鍵即可設定!
4.主選單會自動顯示頭獎預估金額(需連網)
5.新增權限為廣告顯示所需,不喜歡廣告的人請勿更新!
=========
試著放上了廣告,希望不要太多人覺得反感,
其實我自己是很喜歡免費軟體有廣告的,不然作者哪有飯吃? XD
其實中間大部分時間都在忙別的事,
例如重感冒兩週、搬家搬了快一整個月...
(用機車搬家的窮工程師= =)
改版紀錄:
========
Ver. 0.8.0
新功能:
1.提高彩券上限至500筆
2.支援包牌與系統配號投注,對獎時僅取最大獎顯示
(請在選號時按menu鍵設定!)
3.彩券管理介面可以選擇排序方式,按menu鍵即可設定!
4.主選單會自動顯示頭獎預估金額(需連網)
5.新增權限為廣告顯示所需,不喜歡廣告的人請勿更新!
=========
試著放上了廣告,希望不要太多人覺得反感,
其實我自己是很喜歡免費軟體有廣告的,不然作者哪有飯吃? XD
掌中小財神-彩券小工具

掌中小財神-彩券小工具是一個簡單的工具程式,
專門支援台灣地區現有發行之台灣彩券,功能有:
1.由網路查詢彩券獎號
2.輸入並記錄彩券(支援亂數快選)
3.由個人彩券記錄直接對獎
本程式支援威力彩、大樂透、今彩539、3星彩、4星彩
這個程式沒有華麗花俏的介面,但是未來還會新增許多新功能,敬請期待~!
Keywords:
台彩 彩券 台灣彩券 樂透 樂透彩 財運 幸運 運勢 財神
Ver. 0.6.0
Beta Release
--------------------------------------
上一篇文章都十月的事了...
本來想盡量把寫程式過程遇到的問題紀錄在網誌裡,
結果光寫就幾乎沒時間了...畢竟白天還要上班啊Orz
總之總算是傳上去Market了,希望可以有人給我一些意見,bug報告也好...<(_ _)>
說起來還真是心酸啊= =...
別人在寫app的都是整個team直接當正職做,
像我這種上班Eclipse下班也Eclipse的應該是少數吧....
這樣真的做得贏別人嗎......XDDDDDDD
EditText, Focus, Soft Keyboard...
How to close/hide the Android Soft Keyboard?
Issue 2705: Setting requestFocus on EditText prevents soft keyboard from opening
Uhh...I've got some problems here.
But I gotta sleep now...
Sadly, tomorrow is MONDAY... Maybe I have to solve these problems next Saturday.
*Sigh*
Two more issues:
Issue 2771: Disabled EditText can still be edited using on-screen keyboard
Issue 3341: setFocusable() & setFocusableInTouchMode() don't work coreectly
So the solution's here:
Whe you wanna completely disable the soft-kb:
Issue 2705: Setting requestFocus on EditText prevents soft keyboard from opening
Uhh...I've got some problems here.
But I gotta sleep now...
Sadly, tomorrow is MONDAY... Maybe I have to solve these problems next Saturday.
*Sigh*
Two more issues:
Issue 2771: Disabled EditText can still be edited using on-screen keyboard
Issue 3341: setFocusable() & setFocusableInTouchMode() don't work coreectly
So the solution's here:
Whe you wanna completely disable the soft-kb:
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(editText.getWindowToken(), 0);
凌晨1:48
Android
,
EditText
,
Soft Keyboard
所謂的Hello World...
一般來說,寫程式第一個範例都是Hello World
不過個人習慣加一點料...
加個Button跟Listener...
按Button則切換兩個String顯示.....
(string.xml)
然後String一定要用這兩個 XDDDDDDDD
.......還真無聊Orz
不過個人習慣加一點料...
Button button = (Button)findViewById(R.id.button);
button.setOnClickListener(buttonAction);
加個Button跟Listener...
private boolean flag = true;
private OnClickListener buttonAction = new OnClickListener(){
public void onClick(View v){
TextView text = (TextView)findViewById(R.id.text);
if (flag){
text.setText(R.string.hello2);
}
else {
text.setText(R.string.hello);
}
flag = !flag;
}
};
按Button則切換兩個String顯示.....
(string.xml)
<string name="hello">Stairway to heaven</string>
<string name="hello2">Highway to hell</string>
然後String一定要用這兩個 XDDDDDDDD
.......還真無聊Orz
中午12:02
Android
,
Hello World
Android 2.2 (Froyo)
Android 2.2 (Froyo) 正式發表
然後現場一人送一台EVO 4G....! (送一個月吃到飽約的樣子)
以後要記得,Google辦的活動說什麼都要去參加 XDDDDDDDDDD
一下子送N1一下子送EVO的.......
不過這次比較接近Sprint的陰謀XDDDD
EVO 4G加綁約應該是$199 加送一個月應該是$79.99
$280.....然後報名費據說是$400這樣 XD 而且之後也會有很多人跟Sprint續約...科科...
......但是能比人早兩個禮拜拿到就是爽 XD (也比人早當白老鼠.....XD)
- 速度大提升,Dalvik VM上增加JIT compiler,瀏覽器也增加Chrome的js引擎(感想是: Google裡真的是一堆神人........)
- Enterprise Support Enhanced
- App Data backup API & Cloud to Device Messaging API,App可以備份本身需要的資料....也可以經由Google的Server傳訊息到手機上
- USB Tethering & Wifi Hotspot sharing,就網路分享.......XD
- 語音搜尋、翻譯、播號等等,英文之後會先支援中、日文,有裝語音搜尋的人會發現Google翻譯裡的中翻英跟日翻英已經能用語音了...辨識度中上.....對我來說還比英文好,因為英文發音不標準XDDDD
- Flash 10.1 & AIR support (Steve Jobs表示:.......)
- 對一般User最重要的...APP2SD...! 另外market上有Auto-update跟Update-All可以選擇,並且可以在電腦上選app下載,也可以線上買專輯,然後串流到手機播放...
- 對開發人員比較重要的...bug Report System,另外也有新的互動式廣告(Just Like iAd)
- 新的SDK跟NDK也出了 (一般的個人Developer應該用不到NDK...沒那麼強Orz)
然後現場一人送一台EVO 4G....! (送一個月吃到飽約的樣子)
以後要記得,Google辦的活動說什麼都要去參加 XDDDDDDDDDD
一下子送N1一下子送EVO的.......
不過這次比較接近Sprint的陰謀XDDDD
EVO 4G加綁約應該是$199 加送一個月應該是$79.99
$280.....然後報名費據說是$400這樣 XD 而且之後也會有很多人跟Sprint續約...科科...
......但是能比人早兩個禮拜拿到就是爽 XD (也比人早當白老鼠.....XD)
訂閱:
文章
(
Atom
)