我读过的所有东西(在已经制作我的应用程序之后:()表示类似“你永远不应该在ScrollView中使用WebView!”。这是可以理解的,因为理论上你可以有两个滚动的东西,这将使奇怪的可用性
但是 - 到目前为止,我没有看到任何不利影响。然后,我正在使用的每个WebView都不需要滚动 - 也许这使得它可以接受 - 即使它在技术上是错误的吗?
是否有不良影响,我只是没有注意到对特定版本的测试缺乏?
如果我无法在ScrollView中使用WebView,我将如何获得以下布局(我当前的应用程序):
LinearLayout
ScrollView
LinearLayout
TextView //Title of article
TextView //Subtitle of article
RelativeLayout
ImageView //Large Image (clickable to gallery)
ImageView //"more photos icon"
WebView // a small horizontal ad
TextView // actual article text
WebView //embedded HTML code ranging from iframe to video...etc
WebView //embedded HTML code ranging from iframe to video...etc
WebView // a small horizontal ad
LinearLayout
TextView //DB-driven "similar articles" list
WebView //disqus comments
注意:我意识到这是“错误的” - 但在HTML中使用<center>
标记也是如此,人们仍然会一直使用它们。差异似乎是<center>
有一个简单而又更好的替代方案 - 在Android中这种情况有类似之处吗?得到上述内容的一种简单方法?
答案 0 :(得分:4)
这是可以理解的,因为理论上你可以有2个滚动的东西,这会产生奇怪的可用性。
更具体地说,ScrollView
和一盒石头一样愚蠢,并假设它完全控制滚动。
然后,我正在使用的每个WebView都不需要滚动
更准确地说,它不需要在您测试的设备上滚动,也不需要滚动测试的内容。
例如,DISQUS注释线程通常需要在桌面浏览器上滚动 。有人会想到会有足够长的注释线程来要求在移动设备上滚动,除非有一个可以使用的无滚动DISQUS嵌入。
如果我无法在ScrollView中使用WebView,我将如何获得以下布局(我当前的应用程序):
删除所有内容并拥有一个WebView
,生成的HTML内容包含当前结构中的所有内容。 IOW,做你在网站上做的事。
答案 1 :(得分:0)
不要使用WebView。 您可以附加到应用程序或使用AdMob的广告。 视频是VideoView。 评论webview的替代方法是make api(使用php [POST]和sql)。 使用webview不是必须的。 我希望我帮助
答案 2 :(得分:0)
只要WebView不能在与ScrollView相同的方向内部滚动,就可以将WebView放在ScrollView中。使WebView不能在内部滚动可以通过以下几种方式实现:
我不认为上述方法会与捏缩放混合得很好,所以你最好不要启用它。
答案 3 :(得分:0)
创建一个Java类并使用WebView进行扩展
package com.mypackage.common.custom.android.widgets
public class TouchyWebView extends WebView {
public TouchyWebView(Context context) {
super(context);
}
public TouchyWebView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public TouchyWebView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
public boolean onTouchEvent(MotionEvent event){
requestDisallowInterceptTouchEvent(true);
return super.onTouchEvent(event);
}
}
并在布局中
<com.mypackage.common.custom.android.widgets
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
我希望这能解决你的问题