我正在使用ImageButtons
,但单击它们时无法创建边框。我知道关于此主题还有另一个question,但是在回答之后,我无法使其正常工作。
当前我的代码是:
ib_shape_corner.xlm
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke
android:width="3dp"
android:color="@color/blue1" />
<padding
android:left="3dp"
android:top="3dp"
android:right="3dp"
android:bottom="3dp" />
<corners
android:bottomRightRadius="8dip"
android:bottomLeftRadius="8dip"
android:topRightRadius="8dip"
android:topLeftRadius="8dip" />
</shape>
ib_selector.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/ib_shape_corner" />
<item android:drawable="@android:color/transparent" />
</selector>
main.xml
<ImageButton
android:id="@+id/ib_img"
android:layout_width="160dp"
android:layout_height="100dp"
android:background="@drawable/ib_selector"
android:src="@drawable/ic_img"
android:padding="5dp">
main.java
在这里,我尝试设置为在单击按钮时按下并选择我的按钮,但是没有用
ib_img.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ib_img.setSelected(true);
ib_img.setPressed(true);
// Do my stuff
}
});
[listener
起作用,因为它在单击时实际上运行了我的代码,但未添加边框。
尝试使用: