我在webview中加载了一个HTML页面,它可以通过webview滚动内容,但我想滚动根视图。有什么建议吗?
这是我的布局代码:
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:fillViewport="true">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/layout_background">
...
<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:descendantFocusability="blocksDescendants"
android:nestedScrollingEnabled="false">
</WebView>
</RelativeLayout>
</ScrollView>
答案 0 :(得分:0)
为什么不在RelativeLayout
上方的WebView
内添加可滚动内容?你可以这样做:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="#FFFFFF">
<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="120dp"
android:layout_alignParentBottom="true"
android:background="#767676">
</WebView>
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentTop="true"
android:layout_above="@id/webView"
android:background="#222222">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Hello There"
android:textColor="#FFFFFF">
</TextView>
</ScrollView>
</RelativeLayout>
答案 1 :(得分:0)
如果您希望所有视图都在单个滚动条中滚动,那么有一个非常有用的库 - commonsguy/cwac-merge
使用下面提供的代码需要满足一个条件。请记住,这种针对您的问题的方法可能会有所不同,但最终结果正是您所需要的。
<强>条件:强>
多数,让我们开始。
进行活动布局:
1
创建新的布局XML。将其命名为
<RelativeLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:background="#FFFFFF"> <ListView android:id="@+id/list" android:layout_width="match_parent" android:layout_height="match_parent"> </ListView> </RelativeLayout>
并粘贴 这段代码:
viewWebView.xml
创建新的布局XML。将其命名为
<RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <WebView android:id="@+id/webView" android:layout_width="match_parent" android:layout_height="120dp" android:layout_alignParentBottom="true" android:background="#767676"> </WebView> </RelativeLayout>
并粘贴 这段代码:
viewTextView.xml
所以,现在我们必须使用java文件。打开您的* Activity.java文件 图书馆的使用情况如下。
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Hello There"
android:textColor="#FFFFFF">
</TextView>
</RelativeLayout>
值得记住的事情:
ListView list = (ListView) findViewById(R.id.list);
MergeAdapter mg = new MergeAdapter();
/**
* Prgram your webview
*/
View web = getLayoutInflater().inflate(R.layout.viewWebView, null);
WebView web = (WebView) web.findViewById(R.id.webView);
//TODO: Code your webview!!
mg.addView(web);
mg.addView(getLayoutInflater().inflate(R.layout.viewTextView, null));
list.setAdapter(mg);
下的视图将以添加视图的方式添加。换句话说,MergeAdpater
的顺序将是ListView中显示的项目的顺序。干杯!如果您在实施任何内容时遇到任何问题,或者甚至将库添加到gradle中,请告诉我们!
祝你好运!