AndroidDev 板


LINE

※ 引述《k11926 (ki)》之銘言: : 開發層: (應用/框架/庫/核心) : 問題: : 上次解決了edittext鍵盤的問題後,持續我的進度,就是翻譯啦,想要做到的效果是,一 : 篇文章可以讓使用者選取文字(英文)後,可以進行翻譯的動作,用google translate可以 : 做到翻譯 : 但是沒有辦法直接選取完就可以顯示在webview裡面,一定要現選取文字,然後 : 長按(或是另外放一個button)選取的文字後,再按下webview中的文字呼叫,才有辦法 : 翻譯,不知道有沒有什麼比較好的翻譯方法呢? : 希望是可以直接選取完文字以後,點選選取的範圍,就可以翻譯的功能 我的方法有兩種 第一種是透過瀏覽器連上google翻譯, 優點: 簡單,只需要寫出android程式即可 缺點: 很慢 第二種是自己用javascript透過google api寫一支翻譯程式 優點:速度快 缺點:必須學一下Javascript, 我試著寫第一種方法,結果真的很慢= = 程式碼(片段): import com.google.api.translate.Language;//必須下載google translate的api import com.google.api.translate.Translate; ... editText = (EditText)findViewById(R.id.EditView01); editText.setOnTouchListener(new OnTouchListener(){ @Override public boolean onTouch(View view, MotionEvent motion) { try{ String subSelectStr = ""; if(editText.getSelectionStart()<=editText.getSelectionEnd()){ subSelectStr = (editText.getText(). subSequence(editText.getSelectionStart(), editText.getSelectionEnd())).toString(); } else{ subSelectStr = (editText.getText(). subSequence(editText.getSelectionEnd(), editText.getSelectionStart())).toString(); } ClipboardManager clipboard = (ClipboardManager)getSystemService( Context.CLIPBOARD_SERVICE); clipboard.setText(subSelectStr); String pasteData = clipboard.getText().toString(); Translate.setHttpReferrer( "/*Enter the URL of your site here*/"); String strTranslatedText = Translate.execute(pasteData, Language.ENGLISH, Language.CHINESE_TRADITIONAL); Toast.makeText(mContext, strTranslatedText, Toast.LENGTH_SHORT).show(); } catch(Exception e){ e.printStackTrace(); } return false; } }); 稍微解釋一下, 首先我宣告一個EditText來存放原po所說的文章, 為了方便示範,所以我就放了一個英文單字,apple作為初始的文章, 然後利用xml將editText的屬性設為editable=false, 當使用者長按editText的時候,選擇select text模式, 然後進行選取,當選完放開手指的時候, 就會把文字貼入Clipboard,然後再從Clipboard裡面取出, 丟去google translate線上查詢, 查完的結果會利用Toast顯示出來 。 如果一開始所說的,會非常慢,不知道是因為我網路問題, 還是真的會很慢, 還是建議利用第二種方法,寫一支javascript吧! 補上程式碼 http://uploadingit.com/file/whpf92ve9ean12ne/TestAndroidWebView.zip --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.221.115.4
1F:推 ericinttu:有解有推 07/18 17:18
2F:推 k11926:哇~~謝謝解答,第一種方我目前在嘗試,的確是有一些慢 07/19 06:20
3F:→ k11926:但網路速度好像有差,因為在學校就快一些,改天來研究你說 07/19 06:22
4F:→ k11926:的第二種方法,真是太謝謝你囉 07/19 06:22
※ 編輯: givemepass 來自: 61.221.115.4 (07/19 09:54)
5F:推 k11926:但我有問題了,我不知道localhost是什麼? 07/19 11:02
6F:推 k11926:然後我用你的程式碼開起來會有錯誤耶,載入的API有問題 07/19 11:05
7F:→ givemepass:你要把GOOGLE API ADD進去ECLIPSE 07/19 11:49
8F:→ givemepass:localhost就是你的主機位址 07/19 11:49
9F:推 k11926:我Load進去 但是他一直說錯誤耶 07/19 13:53
10F:→ givemepass:你試著把bin裡面的apk install到你的android系統裡 07/19 14:43
11F:→ givemepass:跑看看 07/19 14:43
12F:推 k11926:http://ppt.cc/HNQe 喔喔我上傳我檔案了 我現在想要讓他 07/19 15:15
13F:→ k11926:一選到字長按 webview就會顯示翻譯 不需要再按webview裡面 07/19 15:16
14F:→ k11926:的連結 但一直試不出來 真是感謝你超有耐心 07/19 15:17







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Soft_Job站內搜尋

TOP