我有一个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后,可以看到一个按钮所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)