Re: [問題] imagebutton 縮放及位置配置

看板AndroidDev作者 (他口)時間12年前 (2013/11/04 20:24), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《SeungHsu (Seung)》之銘言: : 標題: [問題] imagebutton 縮放及位置配置 : 時間: Tue Oct 29 10:33:35 2013 : : 小弟有一問題想請問在場各位高手! : : 目前開發一個程式的主畫面,在這個 : 主畫面有數個imagebutton,而這數個 : imagebutton與background的圖有關聯 : 。 : : 原本是用4吋螢幕下去排imagebutton : 的位置,但只要換成其他螢幕尺寸的 : 模擬裝置imagebutton就和background : 卻搭不太上。 : (各個imagebutton的相對應位子不會跑掉) : : 之前有問過老師,老師說要用scale : ,但並沒有多講有關於scale的內容, : 上述的問題用了scale可以解決嗎!? : : -- : ※ 發信站: 批踢踢實業坊(ptt.cc) : ◆ From: 140.131.115.171 : → jack19900510:可以這麼說 要算出背景圖被縮放了多少 10/29 11:14 : → jack19900510:進而算出 button 的長寬與 margin 10/29 11:14 : → lovelycateye:你要不要考慮把你的需求畫成圖給大家看 10/29 11:29 : → lovelycateye:搞不好用 9patch 或是其他方式就好,用算的很累的 10/29 11:30 : → ted66:解決不了,要準確還是把背景圖切割,9PATCH邊比較適合純色 10/30 11:03 : → ted66:切割再用TABLE去處理的話應該會準很多 10/30 11:03 : → SeungHsu:剛剛大概用小畫家畫了一下我示意圖 箭頭是imagebotton 10/30 13:07 : → SeungHsu:附上圖網址 http://ppt.cc/zbj0 10/30 13:08 : → SeungHsu:藍虛線表示button的相對距離,真正實作的bottn約有15個 10/30 13:10 : → SeungHsu:如果是那麼多imagebutton要對應同個背景 哪種法適合呢? 10/30 13:11 : → SeungHsu:感謝各位熱心回覆,希望能找到適合這種數量的方法啊! 10/30 13:12 : 推 tac0wu:你的圖好有fu 10/30 20:46 : → tac0wu:你的背景圖會變形嗎 還是等比例放大縮小然後置中? 10/30 20:48 : 推 tac0wu:如果是default background行為的話 10/30 20:50 : → tac0wu:你首先要知道 背景圖片被拉之後的長和寬(這裡建議用全螢幕) 10/30 20:51 : → tac0wu:省的花力氣還要去算status bar的高度 10/30 20:52 : 推 tac0wu:突然覺得要打好多字 Orz 10/30 20:56 : 推 tac0wu:握建議你要對得準的話 要記住的是箭頭的尖端 在你原圖的位 10/30 20:59 : → tac0wu:置 然後用那位置向量做跟背景圖片相同的變形 之後倒推回你 10/30 21:01 : → tac0wu:image 所該放置的位置 我想到最簡單的方法大概就是這樣 10/30 21:01 : → SeungHsu:背景圖不會變形,是固定的會像您說的等比例放大縮小置中 11/01 15:42 : → SeungHsu:然後開發時是使用fullscreen的方式 所以不會有bar的問題 11/01 15:43 : → SeungHsu:可知道背景圖片被拉之後的長和寬,有那麼多不同的裝置, 11/01 15:44 : → SeungHsu:還是可以以4吋為基準,放大或縮小多少下去做向量呢? 11/01 15:47 你要處理的狀況有兩個case 一個就是背景圖的形狀"比例"比螢幕胖 另一個就是背景圖的形狀"比例"比螢幕高 我用第一個case舉例 首先你的背景圖假設為600 X 1200 你在400 X 500的地方需要一個箭頭的頂點 你得知目前裝置螢幕是500 X 1300 所以你的背景圖會繪製在中間上下留空白 1.算出你的背景圖最左上角在螢幕的位置 背景圖被縮小成原本的 500/600 = 5/6 背景圖目前的size 500 X (1200*(5/6)) => 500 X 1000 所以背景圖的左上角位置在螢幕的 0 X (1300-1000)/2 => 0 X 150 2.將原本400 X 500 的向量對到新的位置 150+ (400*(5/6)) X 500 * (5/6) => 483 X 417 3.在來就是放箭頭圖片 如果不隨背景圖片放大縮小就很簡單 就是剛剛上面算出新的點 再減掉你箭頭圖片左上角 到箭頭頂點的向量 就是你該放的位置 p.s請鎖方向 不要自找麻煩 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.34.158.95

11/11 11:51, , 1F
感謝T大,正在努力摸索中!! 謝謝您給方向啊!!
11/11 11:51, 1F
文章代碼(AID): #1ITv808Y (AndroidDev)
文章代碼(AID): #1ITv808Y (AndroidDev)