2015-04-21 54 views
1

我有一個應用程序,它有一個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?那麼我如何防止它們縮放呢?

+0

你爲什麼不試試這個http://developer.android.com/training/animation/zoom.html – WISHY

+0

你設置'機器人:scaleType = 「中心」'你的'ImageView'的屬性? – electrocrat

+0

如果不需要重疊相鄰視圖,並且不需要增加太多的尺寸,則可以在正常狀態下爲其提供x像素的填充,按下時可以爲0像素填充 – samgak

回答

0

更新你選擇的內容

<?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:drawable="@drawable/b1"/> 
</selector> 
+0

試過了,沒有幫助 – Piotr

相關問題