Skip to content

ImageView

xuexiangjys edited this page Apr 26, 2022 · 7 revisions

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_res 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();

CropImageView

支持进行图片裁剪的控件。

  • 使用案例
<com.xuexiang.xui.widget.imageview.crop.CropImageView
    android:id="@+id/crop_image_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:civ_imageResource="@null" />
  • 属性表: (CropImageView)
属性名 类型 默认值 备注
civ_guidelines enum onTouch(1) 网格线的显示方式
civ_fixAspectRatio boolean false 是否是固定比例裁剪
civ_aspectRatioX integer 1 宽度比例
civ_aspectRatioY integer 1 高度比例
civ_imageResource reference / 裁剪图片的资源
Clone this wiki locally