如何在下一个视图中途翻转时消除白框?

Posted

技术标签:

【中文标题】如何在下一个视图中途翻转时消除白框?【英文标题】:How to eliminate white frame while flipping half-way through the next view? 【发布时间】:2013-01-26 10:54:42 【问题描述】:

iam 使用 Aphid-FlipView-Library 使用 webview 显示静态 html 页面。

但是在翻页时,(移动)从一页到另一页我得到一些白框,在第二页正常加载之后..

谁能帮帮我,如何去除那个闪光的外观..

public class FlipTextViewFragment extends Fragment 
private FlipViewController flipView;
String[] urls = "file:///android_asset/Introduction_print.html","file:///android_asset/introduction2.html";

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 
    flipView = new FlipViewController(inflater.getContext(), FlipViewController.HORIZONTAL);
    flipView.setAdapter(new adp(getActivity().getApplicationContext()));
    return flipView;

@Override
public void onActivityCreated(Bundle savedInstanceState) 
    super.onActivityCreated(savedInstanceState);

public void setText(String item) 
    flipView.setAdapter(new adp(getActivity().getApplicationContext()));
    

那么我的适配器类就在这里: 包 com.example.flipwebview;

 public class adp extends BaseAdapter 
 String[] urls = "file:///android_asset/Introduction_print.html","file///android_asset/introduction2.html";
   Context con; 
public adp(Context applicationContext) 
    // TODO Auto-generated constructor stub
    con=applicationContext;

    @Override
public int getCount() 
    // TODO Auto-generated method stub
    return urls.length;

   @Override
public Object getItem(int position) 
    // TODO Auto-generated method stub
    return position; 

   @Override 
public long getItemId(int position) 
    // TODO Auto-generated method stub
    return position;

    @Override
public View getView(final int position, View convertView, ViewGroup parent) 
    // TODO Auto-generated method stub
    WebView wv=new WebView(con);
    wv.loadUrl(urls[position]);
return wv; 
 

通过使用我的代码,我可以翻阅多个 webviews,但我遇到的问题是,当我翻到一半时,我看不到我的下一个视图,它似乎是一个空白页,我翻页后它被加载我的页面完全..这是关于那个的屏幕

【问题讨论】:

【参考方案1】:

loadUrl 不是呈现本地 HTML 文件的最快方法。由于它们包含在您的应用中,您应该将它们的内容加载到 String 并使用 loadData 方法。

http://developer.android.com/reference/android/webkit/WebView.html#loadData%28java.lang.String,%20java.lang.String,%20java.lang.String%29

编辑: 还有一件事。您应该使用 convertView 而不是每次翻转时都创建新的 WebView。

@Override
public View getView(final int position, View convertView, ViewGroup parent) 
    WebView webView = null;
    if (convertView == null)
    
       webView = new WebView(con);
     else 
       webView = (WebView) convertView;
    

    webView.loadUrl(urls[position]);
    return webView; 
 

【讨论】:

感谢您的快速回复,但在转换为加载数据之后仍然..我得到了和以前一样的东西。并且从原始文件夹图像读取 html 文件时没有显示..跨度> 能否请您给我解决方案,以使用 webview.loaddata(....) 在 html 文件(存储在 raw 文件夹中)中显示带有 html 内容的图像 您必须将图像添加到“资产”文件夹并通过文件名从 HTML 文件中引用它们。类似 . 'Here' 表示在哪里...? :) @vaish : 在使用 webview.loaddata() 之后,问题仍然没有解决,它显示的内容与之前的 webview.loadurl() 相同。

以上是关于如何在下一个视图中途翻转时消除白框?的主要内容,如果未能解决你的问题,请参考以下文章

当键盘出现时,白框会遮挡视图

如何在两个视图不正确时自动翻转它们

如何翻转正面带有标签而背面带有另一个标签的视图 - 参见图片

使用自动布局时如何将动画从一个 UIView 翻转到另一个?

如何才能消除某软件的30天试用期的限制?

如何在单击href时翻转展开或折叠文本 - 淘汰赛