在我的应用程序中,我得到了一个活动,顶部有一些动作栏,下面是列表视图.我想要做的是 - 用列表向上滚动它,所以它隐藏然后,当列表向下滚动时 - 它应该向下滚动列表,就像它刚好在屏幕上边框上.我该如何实现这一功能?
android scroll vertical-scrolling android-listview android-actionbar
我必须将WebView放入ScrollView.但是我必须在webview之前将一些视图放到同一个scrollview中.所以它看起来像这样:
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<LinearLayout
android:id="@+id/articleDetailPageContentLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<LinearLayout
android:id="@+id/articleDetailRubricLine"
android:layout_width="fill_parent"
android:layout_height="3dip"
android:background="@color/fashion"/>
<ImageView
android:id="@+id/articleDetailImageView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:scaleType="fitStart"
android:src="@drawable/article_detail_image_test"/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="5dip"
android:text="PUBLISH DATE"/>
<WebView
android:id="@+id/articleDetailContentView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@color/fashion"
android:isScrollContainer="false"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
我从后端获得了一些HTML信息.它没有任何身体或头部标签,只有被<p>或<h4>或其他标签包围的数据.它还有<img>标签.有时图片对于当前屏幕宽度来说太宽.所以我在HTML的开头添加了一些CSS.所以我将数据加载到webview,如下所示:
private final static String WEBVIEW_MIME_TYPE = "text/html";
private final static String WEBVIEW_ENCODING = "utf-8";
String viewport = "<head><meta name=\"viewport\" content=\"target-densitydpi=device-dpi\" /></head>";
String css = "<style type=\"text/css\">" +
"img {width: 100%;}" +
"</style>";
articleContent.loadDataWithBaseURL("http://", viewport + css + articleDetail.getContent(), …Run Code Online (Sandbox Code Playgroud) 我正在尝试将SwipeRefreshLayout与WebView一起使用.
我正面临着问题,在页面中间,当用户向下滚动时,不必要的刷新开始.
如何在webview的滚动位置位于顶部时才进行刷新事件.(即,他正在查看页面的顶部)?
在Google Chrome和Play商店中.应用程序可以在滚动时隐藏操作栏,并允许用户方便地浏览.请帮我这样做.
我使用onTouchListener进行webview它不起作用.
mWebView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
getSupportActionBar().show();
break;
case MotionEvent.ACTION_UP:
getSupportActionBar().hide();
break;
default: break;
}
return false;
}
});
Run Code Online (Sandbox Code Playgroud)
提前致谢
我的本机应用程序,如果用户滚动到webview的末尾,我想显示/隐藏按钮.我在这里查看了一个答案,并了解了如何通过接口注册回调.我的主要问题是我无法在onScrollChanged方法中进行计算.我尝试过getHeight(),getContentHeight(),top等组合,但它似乎太早了.我尝试使用像谷歌这样的简单页面,内容相对较少,也有新闻页面.
这些逻辑适用于普通滚动视图.由于网页内容很多,可能会搞乱计算.粘贴示例代码:不起作用.
@Override
protected void onScrollChanged(int left, int top, int oldLeft, int oldTop) {
if ( mOnWebViewBottomReachedListener != null ) {
//if ( (getContentHeight() - (top + getHeight())) <= mMinDistance )
int diff = (getBottom() - (getHeight() + getScrollY()));
Log.e("values ", diff+" o");
if ((int) Math.floor(getContentHeight() * getScaleY()) == top)
mOnWebViewBottomReachedListener.onBottomReached(this);
}
super.onScrollChanged(left, top, oldLeft, oldTop);
}
Run Code Online (Sandbox Code Playgroud)
需要帮助.谢谢.
我正在制作一个基于android WebView类的浏览器.我想在webview上启用水平和垂直滚动,并希望它的行为与Android浏览器完全相同?清单文件中是否有任何设置,或者我将覆盖默认的webviewclient类.
android android-widget android-manifest android-layout android-webview