ImageView是Android中最常用的组件之一,主要功能就是图片的展示预览。
RadiusImageView
提供为图片添加圆角、边框、剪裁到圆形或其他形状等功能的ImageView。
- 演示效果
- 使用案例
<com.xuexiang.xui.widget.imageview.RadiusImageView
android:clickable="true"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:src="@drawable/img_beautiful_scenery"
app:riv_border_color="@color/xui_config_color_gray_6"
app:riv_border_width="1px"
app:riv_is_circle="true"
app:riv_selected_border_color="@color/xui_config_color_gray_4"
app:riv_selected_border_width="1px"
app:riv_selected_mask_color="@color/xui_config_color_gray_8"/>
- 属性表: (RadiusImageView)
属性名 | 类型 | 默认值 | 备注 |
---|---|---|---|
riv_border_width | dimension | 0 | 边框的宽度 |
riv_border_color | color | Color.GRAY | 边框的颜色 |
riv_selected_mask_color | color | Color.TRANSPARENT | 选中时,覆盖在图片上的图层颜色 |
riv_selected_border_color | color | Color.GRAY | 边框选中时的颜色 |
riv_selected_border_width | dimension | 0 | 边框选中时的宽度 |
riv_corner_radius | dimension | 0 | 圆角的大小 |
riv_is_oval | boolean | false | 是否是椭圆形 |
riv_is_circle | boolean | false | 图片是否是圆形的 |
riv_is_touch_select_mode_enabled | boolean | true | 图片是否可触摸选中 |
IconImageView
可在ImageView上设置图标的ImageView
- 使用案例
<com.xuexiang.xui.widget.imageview.IconImageView
android:id="@+id/iv"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:clickable="false"
android:contentDescription="@null"
android:focusable="false"
android:scaleType="centerCrop"
android:src="@drawable/xui_ic_default_img"
app:iiv_icon="@drawable/ic_player"/>
- 属性表: (IconImageView)
属性名 | 类型 | 默认值 | 备注 |
---|---|---|---|
iiv_icon | reference | / | 图标的资源 |
iiv_icon_scale | float | 0.5f | 图标缩放的比例 |
iiv_is_show | boolean | true | 图标是否显示 |
SmoothImageView
可支持缩放的图片控件
- 使用案例
<com.xuexiang.xui.widget.imageview.preview.view.SmoothImageView
android:id="@+id/photoView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="20dp"
android:background="@android:color/transparent" />
PreviewBuilder
图片集预览,支持视频和gif的预览。
- 演示效果
- 使用案例
PreviewBuilder.from(getActivity())
.setImgs(mAdapter.getListData()) //图片对象集合
.setCurrentIndex(position) //当前预览的索引
.setSingleFling(true)
.setType(PreviewBuilder.IndicatorType.Number) //指示器为数字
.start();