我想在我的布局中添加一个ImageButton
,它具有向下缩小的效果,以便看起来像是被按下了。所以我基本上有原始图像@drawable/scan
和压缩图像@drawable/scanhot
。 Scanhot基本上是相同的图像按比例缩小。
我的代码如下,但它似乎无法正常工作。
正如您所看到的,我使用的是Button
,而不是ImageButton
,因为Button
至少可以“切换”#34}。不同的图像。但是它对扫描/扫描等类似图像没有任何作用
button_rescan.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_pressed="true"
android:drawable="@drawable/scanhot"/>
<item
android:drawable="@drawable/scan"/>
</selector>
布局
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="20dp"
android:background="@android:color/transparent">
<Button
android:id="@+id/fragment_radar_rescan_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/button_rescan"
android:layout_gravity="center_horizontal"
android:layout_centerHorizontal="true"/>
</RelativeLayout
答案 0 :(得分:2)
看起来drawable/scanhot
的大小不同drawable/scan
(以像素为单位)。所以,如果你想要&#34; zoom&#34; (或者其他什么)你仍然应该保持图像尺寸对于两个图像(即100x100)相同并且具有相同的尺寸使得scanhot
看起来更小。如果您已经根据需要调整了图像,只需将较小的图像加载到Gimp或Photoshop并将其canvas
缩放到另一个图像的大小(我假设它更大),然后保存。在这种情况下,两者的画布将是相同的,你可以避免从ImageView
答案 1 :(得分:1)
您正在做的问题是,当您将图片设置为背景时,它会自动被炸毁以适合View
。相反,两张图片应该具有相同的分辨率,但是scanhot中的图片应该看起来更小。
换句话说,两张图片的分辨率应该是132x29(或者更确切地说,它们的大小应该相同)