roundimageview实现setonfocuschangelistener显示不同的效果
时间: 2024-05-09 09:20:13 浏览: 125
在设置 setOnFocusChangeListener 的时候,可以通过监听焦点的变化来实现显示不同的效果。具体实现方式如下:
1. 在布局文件中添加 RoundImageView 控件:
```
<com.makeramen.roundedimageview.RoundedImageView
android:id="@+id/imageView"
android:layout_width="100dp"
android:layout_height="100dp"
android:src="@drawable/image"
app:riv_corner_radius="50dp" />
```
2. 在代码中设置 setOnFocusChangeListener 监听器:
```
RoundedImageView imageView = findViewById(R.id.imageView);
imageView.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
// 设置选中效果
imageView.setBorderColor(Color.RED);
imageView.setBorderWidth(5);
} else {
// 设置未选中效果
imageView.setBorderColor(Color.TRANSPARENT);
imageView.setBorderWidth(0);
}
}
});
```
在焦点变化时,根据 hasFocus 参数来判断当前控件是否获得了焦点,然后设置不同的效果。在本例中,选中效果为红色边框,未选中效果为透明边框。可以根据需求来设置不同的效果。
阅读全文