我有一個應用程序,它有一個ImageViev,可以通過單擊它來執行操作。我希望它在按下時有點大,並且在發佈時恢復正常。問題是,根據情況,我有10個不同的圖像出現在ImageViev中。我已經閱讀了很多關於這方面的線索,而且這些解決方案似乎都不能解決我的問題。我需要:按下時使Android圖像變大,並在發佈時正常
- 按下按鈕時會使圖像更大,或者將其替換爲更大的版本。
- 釋放按鈕時縮小圖像,或返回正常版本的圖像。
- 當我在ImageView中更改圖像時,它在按下時仍會更改其大小。
到目前爲止,我已經試過這樣:
創建一個可繪製的項目,看起來像這樣:
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@drawable/b1big" /> <item android:state_pressed="false" android:drawable="@drawable/b1"/> </selector>
,但它不會工作,因爲Android的自動將圖像縮放到ImageView的大小,因此無論b1big是否大於b1。
- 更改可繪製項目的寬度和高度,但它沒有這些參數。
是創建10張正常相似圖片圖像1,圖像2 ... image10,然後創建10張大相似圖片image1big ... image10big然後創建像10點拖拉的對象:
<item
android:state_pressed="true"
android:drawable="@drawable/image1big" />
<item
android:state_pressed="false"
android:drawable="@drawable/image1"/>
,並用它們作爲src爲我的ImageView?那麼我如何防止它們縮放呢?
你爲什麼不試試這個http://developer.android.com/training/animation/zoom.html – WISHY
你設置'機器人:scaleType = 「中心」'你的'ImageView'的屬性? – electrocrat
如果不需要重疊相鄰視圖,並且不需要增加太多的尺寸,則可以在正常狀態下爲其提供x像素的填充,按下時可以爲0像素填充 – samgak