Android 개발에서 ScrollView를 사용자 정의하여 원키 상단 기능을 달성하는 방법.

GoTopScrollView를 사용자 지정하고 수신 콜백을 설정합니다. 코드에서별로 말도 안 돼요.

public class GoTopScrollView extends ScrollView implements View.OnClickListener {
    
    

    private ImageView goTopBtn;

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

    public void setScrollListener(ImageView goTopBtn) {
    
    
        this.goTopBtn = goTopBtn;
        this.goTopBtn.setOnClickListener(this);
    }

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

    public GoTopScrollView(Context context, AttributeSet attrs, int defStyleAttr) {
    
    
        super(context, attrs, defStyleAttr);
    }

    public GoTopScrollView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
    
    
        super(context, attrs, defStyleAttr, defStyleRes);
    }

    @Override
    protected void onScrollChanged(int l, int t, int oldl, int oldt) {
    
    
        super.onScrollChanged(l, t, oldl, oldt);
        //滑动距离超过450px,出现置顶按钮.
        if (t >= 450) {
    
    
            goTopBtn.setVisibility(View.VISIBLE);
        } else {
    
    
            goTopBtn.setVisibility(View.GONE);
        }
    }

    @Override
    public void onClick(View v) {
    
    
        if (v.getId() == R.id.iv_top) {
    
    
            //点击之后滚动流畅会顶端
            this.smoothScrollTo(0, 0);
        }
    }
}

다음으로, 최고를 달성하려는 인터페이스에서 달성 할 코드를 추가합니다.

GoTopScrollView goTopScrollView = findViewById(R.id.gt_sl);
mageView ivTop = findViewById(R.id.iv_top); //此处为置顶的图片
goTopScrollView.setScrollListener(ivTop);

추천

출처blog.csdn.net/gg820796/article/details/108653958