我将rel布局绝对大小调整为50dp,只显示图像外部的部分,因此图像阻挡了按下状态...如何获得我想要的效果?而且仅供参考,将背景直接放在ImageView上没有任何改变;压制的橙色仍然在下面。
<RelativeLayout
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="10dp"
android:background="@drawable/btn_orange"
android:clickable="true" >
<ImageView
android:id="@+id/preview_plus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/plus_button" />
</RelativeLayout>
和btn_orange.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<color android:color="#66ffb300"/>
</item>
</selector>
答案 0 :(得分:1)
试试这个......
<RelativeLayout
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="10dp"
android:background="@drawable/btn_orange"
android:clickable="true" >
<ImageView
android:id="@+id/preview_plus"
android:layout_width="45dp"
android:layout_height="45dp"
android:background="@drawable/plus_button" />
</RelativeLayout>
答案 1 :(得分:1)
我必须说你可以使用(触摸列表器) 这是你如何使用触摸列表器
image=(ImageView)findViewById(R.id.image);
首先找到你的图像
为您的图片添加触摸列表器
image.setOnTouchListener(image_onTouch);
//添加一个名为image_onTouch的触摸方法
OnTouchListener image_onTouch=new OnTouchListener(){
@Override
public boolean onTouch(View arg0,MotionEvent arg1){
int iAction=arg1.getAction();
if(iAction==0){
image.setImageResource(R.drawable.image1);
}
else{
image.setImageResource(R.drawable.image2);
}
return false;
}
};
//图像1是您想要2次点击的图像 和图像2是触摸该图像时的图像,您必须制作另一个图像,其中您想要显示背景颜色并在代码中使用它