Android ImageButton映像完全填充縮放到控制項

來源:互聯網
上載者:User

標籤:

如果你發現你寫程式的時候像我一樣,發現圖片怎麼都無法展開填充到ImageButton 裡面。而且就算能縮放到控制項,但是映像較小,而且總會在 ImageButton周圍有一圈邊框!當你遇到這一些列問題的這時候你就可以收藏並吸收這個經驗了.

總的過程:我先給出關鍵代碼→ 分析給出的兩種解決方案→ 我詳細介紹一下邊框出現的原因個解決辦法。→ 最後就是些注意事項了

 工具/原料
  • 遇到問題儘可能冷靜下來的心情。

  • 記住收藏好我這條經驗。

  • ImageButton的長寬最好是固定的。注意事項裡面我會告訴你為什麼

關鍵代碼
  1. 1

    第一種解決方案:

    android:scaleType="fitXY"//這個代碼是:展開圖片(不按比例)以填充的長寬。所以映像最後最好多多少少會失真的.這點你要注意

    android:background="#e0000000"//這是解決映像縮放後映像周圍有一圈邊框.是使邊框變透明,以去掉邊框.如

     

    第二種解決方案:

    android:src="@drawable/miss"  改為  android:background="@drawable/miss" 有了這一步可以替代上面兩步,同時解決邊框的和完整縮放填充到控制項問題

    下一步具體介紹給大家分析一像完整縮放填充到控制項的方法,和填充後出現邊框的問題

    END
怎麼進行縮放填充映像到ImageButton
  1. 1

    android:scaleType="fitXY

    android:scaleType  設定映像的填充方式

     fitXY             把圖片不按比例擴大/縮小到View的大小顯示

    說一下要注意的:

    這麼做的話,如果控制項的長寬比和映像的長寬比不同的話就與比較嚴重的失真。所以要多注意一下.尤其是多解析度適配的時候。多做真機調試

    使用這個方法填充的時候是必須配合android:src來使用的。對於android:background是無效的.

  2. 2

    android:src="@drawable/miss"  改為  android:background="@drawable/miss"

    首先background是填充背景的屬性。指定後會根據ImageView組件給定的長寬進行展開。

    而邊框的存在就是因為背景的存在。所以能替代第一種解決方案

    (src是映像內容(前景),background是背景,可以同時使用。)

    END
ImageButton 有銀灰色邊框的原因和解決方案
  1.  

    原因就是ImageButton 預設就是有邊框的。或者可以說會預留出一部分背景。

    這樣可以更好給使用者一個使用反饋。點擊的時候,背景就會有顏色變化。是個很好的整合方案。當然,對於現在介面美化的發展。那麼美的介面下,按鈕周圍會有一圈邊框實在是太醜了.

    而且我們一般在src指定原圖,但是src不會進行展開。所以才會出現邊框

  2.  

    解決方案:

    android:background="#e0000000"//這是解決映像縮放後映像周圍有一圈邊框.是使邊框變透明

    或者你可以

    android:src="@drawable/miss"  改為  android:background="@drawable/miss

     

    第一種呢是使其透明化(其實android:background="@null"也是可以的)

    第二種呢就更直接了。直接改變背景。

  3. 3

    好了,到這裡就我就把我所遇到的問題總結之後把解決方案都告訴你的都告訴你了.

    END
注意事項
  • 關於ImageButton長寬固定:因為系統會先判斷映像寬和高。如果控制項不固定,而且相對映像來說控制項太小的話,就會出現:系統會根據控制項長和寬能向外展開的最大值(當然,指定fitXY後是不會超過映像的長和寬的)進行展開控制項然後縮放填充到控制項大小

     

    轉自:http://jingyan.baidu.com/article/90895e0f97ff7b64ec6b0b1a.html

Android ImageButton映像完全填充縮放到控制項

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.