1
是否可以對圖像執行一些圖像操作以模擬按下狀態? (減少APK的大小)通過代碼更改按下的圖像資源
是否可以對圖像執行一些圖像操作以模擬按下狀態? (減少APK的大小)通過代碼更改按下的圖像資源
<?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/button_pressed" /> <!-- pressed -->
<item android:state_focused="true"
android:drawable="@drawable/button_focused" /> <!-- focused -->
<item android:drawable="@drawable/button_normal" /> <!-- default -->
</selector>
然後每個按鈕可以在XML被定義爲以及:
button_normal:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:startColor="#DD63594A"
android:endColor="#809C7D5A"
android:angle="90"/>
<stroke android:width="2dp" android:color="#FF524539" />
<!-- android:dashWidth="2dp" android:dashGap="1dp" /> -->
<padding android:left="4dp"
android:top="4dp"
android:right="4dp"
android:bottom="4dp"/>
<corners android:bottomRightRadius="7dp" android:bottomLeftRadius="7dp"
android:topLeftRadius="7dp" android:topRightRadius="7dp"/>
</shape>
button_pressed:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:startColor="#80A57D08"
android:endColor="#DDE75D31"
android:angle="90"/>
<stroke android:width="2dp" android:color="#FF524539" />
<!-- android:dashWidth="2dp" android:dashGap="1dp" /> -->
<padding android:left="4dp"
android:top="4dp"
android:right="4dp"
android:bottom="4dp"/>
<corners android:bottomRightRadius="7dp" android:bottomLeftRadius="7dp"
android:topLeftRadius="7dp" android:topRightRadius="7dp"/>
</shape>
button_focused:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:startColor="#80E75D31"
android:endColor="#DDE75D31"
android:angle="90"/>
<stroke android:width="2dp" android:color="#FF524539" />
<!-- android:dashWidth="2dp" android:dashGap="1dp" /> -->
<padding android:left="4dp"
android:top="4dp"
android:right="4dp"
android:bottom="4dp"/>
<corners android:bottomRightRadius="7dp" android:bottomLeftRadius="7dp"
android:topLeftRadius="7dp" android:topRightRadius="7dp"/>
</shape>
至於動畫,它真的取決於你想要做的,什麼到底是什麼:您可以
自己(一幀一幀)例如:http://www.twintechs.com/2008/06/frame-by-frame-xml-animation-with-google-android/ & http://code.google.com/p/android-animation-example/
或者使用AnimatedViews:http://mylifewithandroid.blogspot.com/2008/04/animated-views.html
希望有所幫助。這將節省空間;-)
FYI:如果你正在尋找壓縮沒有比http://trimage.org/
做u意味着壓縮? – 2012-01-03 15:27:37