Android:滚动完成webview后,可以看到一个按钮

Android:滚动完成webview后,可以看到一个按钮,第1张

概述我有一个webview,显示一个HTML文件.当用户在webview中滚动到此文件的底部时,我想要一个先前隐藏的按钮显示,然后用户可以按此按钮执行某些活动我在iOS中做了类似的事情,我只是将委托设置为ViewController,只是将按钮设置为可见.我如何在Android上做类似的事情?我注意到iOS中没有回调方法.编辑:现在,我有一个包含2个对象的活动:

我有一个webvIEw,显示一个HTML文件.当用户在webvIEw中滚动到此文件的底部时,我想要一个先前隐藏的按钮显示,然后用户可以按此按钮执行某些活动

我在iOS中做了类似的事情,我只是将委托设置为VIEwController,只是将按钮设置为可见.我如何在@L_404_1@上做类似的事情?我注意到iOS中没有回调方法.

编辑:现在,我有一个包含2个对象的活动:包含我的文本的webvIEw和一个当前不可见的按钮.我希望我的活动在webvIEw文本滚动到底部时收到一条消息,并使按钮可见

最佳答案我必须自己这样做,以便在用户滚动到EulA底部后显示“我同意”按钮.律师,对吧?

事实上,当你覆盖WebVIEw(而不是像@JackTurky的答案中的ScrollVIEw)时,你可以调用getContentHeight()来获取内容的高度,而不是getBottom(),它返回可见的底部并且没用.

这是我全面的解决方案.据我所知,这是所有API级别1的东西,因此它应该可以在任何地方使用.

public class EulaWebVIEw extends WebVIEw {    public EulaWebVIEw(Context context)     {        this(context,null);    }    public EulaWebVIEw(Context context,AttributeSet attrs)     {        this(context,attrs,0);    }    public EulaWebVIEw(Context context,AttributeSet attrs,int defStyle)     {        super(context,defStyle);    }    public OnBottomreachedListener mOnBottomreachedListener = null;    private int mMindistance = 0;    /**     * Set the Listener which will be called when the WebVIEw is scrolled to within some     * margin of the bottom.     * @param bottomreachedListener     * @param allowedDifference     */    public voID setonBottomreachedListener(OnBottomreachedListener bottomreachedListener,int allowedDifference ) {        mOnBottomreachedListener = bottomreachedListener;        mMindistance = allowedDifference;    }    /**     * Implement this interface if you want to be notifIEd when the WebVIEw has scrolled to the bottom.     */    public interface OnBottomreachedListener {        voID onBottomreached(VIEw v);    }    @OverrIDe    protected voID onScrollChanged(int left,int top,int oldleft,int oldtop) {        if ( mOnBottomreachedListener != null ) {            if ( (getContentHeight() - (top + getHeight())) <= mMindistance )                mOnBottomreachedListener.onBottomreached(this);        }        super.onScrollChanged(left,top,oldleft,oldtop);    }}

一旦用户滚动到WebVIEw的底部,我用它来显示“我同意”按钮,我在这里调用它(在“实现OnBottomreachedListener”的类中:

EulaWebVIEw mEulaContent;button mEulaAgreed;@OverrIDeprotected voID onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentVIEw(R.layout.eula);    mEulaContent = (EulaWebVIEw) findVIEwByID(R.ID.eula_content);    StaticHelpers.loaDWebVIEw(this,mEulaContent,R.raw.stylesheet,StaticHelpers.readRawTextfile(this,R.raw.eula),null);    mEulaContent.setVerticalScrollbarEnabled(true);    mEulaContent.setonBottomreachedListener(this,50);    mEulaAgreed = (button) findVIEwByID(R.ID.eula_agreed);    mEulaAgreed.setonClickListener(this);    mEulaAgreed.setVisibility(VIEw.GONE);}@OverrIDepublic voID onBottomreached(VIEw v) {    mEulaAgreed.setVisibility(VIEw.VISIBLE);}

因此,当达到底部时(或者在这种情况下,当它们在50像素范围内时),出现“我同意”按钮. 总结

以上是内存溢出为你收集整理的Android:滚动完成webview后,可以看到一个按钮全部内容,希望文章能够帮你解决Android:滚动完成webview后,可以看到一个按钮所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1140009.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存