xuexiangjys / XUI

💍A simple and elegant Android native UI framework, free your hands! (一个简洁而优雅的Android原生UI框架,解放你的双手!)
https://xuexiangjys.github.io/XUI/
Apache License 2.0
4.85k stars 835 forks source link

带圆角的图片轮播 RadiusImageBanner 右边的圓角未能正常显示 #162

Closed thisfeng closed 1 year ago

thisfeng commented 1 year ago

问题描述(必填)

带圆角的图片轮播 RadiusImageBanner 右边的角度未能正常显示。

使用的XUI版本(必填) implementation 'com.github.xuexiangjys:XUI:1.2.1'

如何重现(必填)

期望的效果 对你期望的效果进行清晰而简明的描述。

截图

image

设备信息

附加信息

  <com.ablegenius.kiosk.widget.RadiusImageBanner
        android:id="@+id/sib_simple_usage"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        app:bb_scale="0.3" />

        /**
 * 带圆角的图片轮播
 *
 * @author xuexiang
 * @since 2019/1/14 下午10:07
 */
public class RadiusImageBanner extends BaseImageBanner<RadiusImageBanner> {

    public RadiusImageBanner(Context context) {
        super(context);
    }

    public RadiusImageBanner(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public RadiusImageBanner(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
    }

    /**
     * @return 轮播布局的ID
     */
    @Override
    protected int getItemLayoutId() {
        return R.layout.xui_adapter_radius_image;
    }

    /**
     * @return 图片控件的ID
     */
    @Override
    protected int getImageViewId() {
        return R.id.riv;
    }

    @Override
    public int getItemWidth() {
        //需要距离边一点距离
        return super.getItemWidth() - DensityUtils.dp2px(getContext(), 32);
    }
}

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingStart="?attr/xui_config_content_spacing_horizontal"
    android:paddingTop="?attr/xui_config_content_spacing_vertical"
    android:paddingEnd="?attr/xui_config_content_spacing_horizontal">

    <com.xuexiang.xui.widget.imageview.RadiusImageView
        android:id="@+id/riv"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:riv_corner_radius="20dp" />

</LinearLayout>
xuexiangjys commented 1 year ago

image riv_corner_radius 是20dp的话,需要留出的间隙必须比40dp大

thisfeng commented 1 year ago

谢谢 已解决