Mic*_*cky 10 html android google-chrome scrollview webview
我有一个WebView在android:layout_height="wrap_content"里面ScrollView.在Android 7之前,这导致WebView调整到我设置的本地html内容的高度loadData.在我的带有Android 7的Nexus 5X上,WebView高度似乎不可靠,有时它只显示第一个文本行的部分,有时在内容的末尾有很大的差距.
我认为这可能是因为谷歌现在使用Chrome开始使用Chrome浏览器从Nougat开始.有没有人对此问题有解释或修复/解决方法?
将视图包含在a的单元格中也可能很重要RecyclerView.
使用WebView来显示RecyclerView中的内容有点冒险,而且效率不高。您不知道它在不同设备上的工作原理!
我建议使用 TextView 更改您的解决方案,并使用此命令将 HTML 内容转换为格式化文本
textView.setText(Html.fromHtml(<YOUR HTML CONTENT>))
Run Code Online (Sandbox Code Playgroud)
顺便说一句,这些是我使用 WebView 所做的一些努力,以实现显示某些广告横幅内容的固定大小:
public class AdsWebView extends WebView {
// some setup codes...
private static final int MAX_SCALE = 120;
public AdsWebView(Context context) {
setVerticalScrollBarEnabled(false);
setHorizontalScrollBarEnabled(false);
setScrollbarFadingEnabled(false);
setupAdsScale();
}
private int getAdsScale() {
int width = getDisplayWidth(getContext());
Double val = Double.valueOf(width) / Double.valueOf(480);
val = val * 100d;
return val.intValue();
}
private void setupAdsScale() {
int scale = getAdsScale();
if (scale > MAX_SCALE)
scale = MAX_SCALE;
setInitialScale(scale);
}
private int getDisplayWidth(Context context) {
try {
Activity activity = (Activity) context;
if (Integer.valueOf(android.os.Build.VERSION.SDK_INT) < 13) {
Display display = activity.getWindowManager()
.getDefaultDisplay();
return display.getWidth();
} else {
Display display = activity.getWindowManager()
.getDefaultDisplay();
Point size = new Point();
display.getSize(size);
return size.x;
}
} catch (Exception e) {
e.printStackTrace();
return 0;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1863 次 |
| 最近记录: |