`
knight_black_bob
  • 浏览: 857317 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

android webview pre[name=code] syntaxHighlighter 代码高亮

阅读更多

 

下载 高亮 js css xml  

http://download.csdn.net/download/knight_black_bob/9594538

 

 

实战 QQ demo源码(本例中有该应用)

服务器端下载http://download.csdn.net/download/knight_black_bob/9822551

android eclipse 版http://download.csdn.net/download/knight_black_bob/9822553

android stdio  版本http://download.csdn.net/download/knight_black_bob/9822556

 

 

博客详细效果图



 

 

public final static String syntaxHighlighter = 
			"<script type=\"text/javascript\" src=\"file:///android_asset/shCore.js\"></script>"
			+ "<script type=\"text/javascript\" src=\"file:///android_asset/shBrushCpp.js\"></script>"
			+ "<script type=\"text/javascript\" src=\"file:///android_asset/shBrushXml.js\"></script>"
			+ "<script type=\"text/javascript\" src=\"file:///android_asset/shBrushJScript.js\"></script>"
			+ "<script type=\"text/javascript\" src=\"file:///android_asset/shBrushJava.js\"></script>"
			+ "<link rel=\"stylesheet\" type=\"text/css\" href=\"file:///android_asset/shThemeDefault.css\">"
			+ "<link rel=\"stylesheet\" type=\"text/css\" href=\"file:///android_asset/shCore.css\">"
			+ "<script type=\"text/javascript\">SyntaxHighlighter.all();</script>";

 

 

 

iteye 博客详细内容

public static String getIteyeBlogString(String data){ 
		Element detail = null;
		Document document =null;
		try { 
			document = Jsoup.parse(data);
			 detail =document.getElementsByClass("blog_main").get(0); 
			 detail.getElementById("bottoms").remove();
			 detail.getElementsByClass("blog_nav").remove();
			 detail.getElementsByClass("news_tag").remove();
			 detail.getElementsByClass("blog_categories").remove();
			 detail.getElementsByClass("blog_bottom").remove();
			 detail.getElementsByClass("boutique-curr-box").remove();
			 detail.getElementsByClass("blog_comment").remove();
			 detail.getElementsByTag("iframe").remove();  
			
			 Elements codeElements = detail.select("pre[name=code]");  
			 for (Element codeNode : codeElements) {  
			     codeNode.attr("class", "brush: java; gutter: false;");   
			 }  
				
		} catch (Exception e) {
			e.printStackTrace();
		} 
		return   Constants.syntaxHighlighter+ detail.toString();
	}

 

public class IteyeDetailActivity extends BaseActivity  {
	
	
	 private WebView webView;
	private String url ="http://blog.csdn.net/jmilk/article/details/52046914";
	final String mimeType = "text/html";  
	final String encoding = "utf-8";  
	private Context mContext;
	@Override
	protected void onCreate(Bundle bundle) { 
		super.onCreate(bundle);
		setContentView(R.layout.iteye_list_item_detail);
		this.mContext = IteyeDetailActivity.this;
		
		initUtils();
		initView( );
		// initListeners();
		EventBus.getDefault().register( this );
		 IteyeHttpRequest.getIteyeBlogData(url);
	}

	private void initListeners() { 
		 webView.loadUrl(url); 
		//showWaitingDialog("");
		/*webView.setWebViewClient(new WebViewClient() {      
            @Override      
            public boolean shouldOverrideUrlLoading(WebView view, String url)      
            {     
              view.loadUrl(url);  
              dismissWaitingDialog();
              return true;      
            }      
      }); */    
	}

	private void initView() {
		webView = (WebView) this.findViewById(R.id.wv_qq_news_item_detail_webview);
		 WebSettings settings = webView.getSettings();
		 settings.setDomStorageEnabled(true); 
		 settings.setAllowFileAccess(true);
		settings. setDefaultTextEncodingName("UTF -8");
		settings.setJavaScriptEnabled(true);  //支持js
		//settings.setPluginsEnabled(true);  //支持插件 
		settings.setUseWideViewPort(false);  //将图片调整到适合webview的大小 
		settings.setSupportZoom(true);  //支持缩放 
		settings.setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN); 
	}

	private void initUtils() {
		Intent intent = getIntent();
		 Bundle bundle = intent.getBundleExtra("bundle");
		 url =bundle.getString(IteyeMainActivity.ITEYE_DETAIL_URL); 
	}

	
	public void onEventMainThread(RequestEvent requestEvent){
		
		if(requestEvent instanceof IteyeStringHttpEvent){
			IteyeStringHttpEvent event = (IteyeStringHttpEvent) requestEvent;
			switch(event.status){
			case HTTP_ERROR:
				 
				break; 
			case HTTP_SUCCESS: {   
				String result = event.data; 
				String data = IteyeJsoupPerformer.getIteyeBlogString(result);
				String shtml = IteyeJsoupPerformer.getHtml(data); 
				//webView. loadData(iteyeBlogString, "text/html", "UTF-8") ; 
				webView.loadDataWithBaseURL(  "file:///android_asset/", shtml, "text/html", "utf-8", null ); 
			 
			}
			  break;
			default:
				break;
			}
		}else{
			
		}
}
	
	
	
	 

	@Override
    public void onDestroy() {
        EventBus.getDefault().unregister( this );
        super.onDestroy();
    }
}

  

 

 

 

 

 

 

 

 

 

 

 

 

 

捐助开发者

在兴趣的驱动下,写一个免费的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(右上角的爱心标志,支持支付宝和PayPal捐助),没钱捧个人场,谢谢各位。



 
 
 谢谢您的赞助,我会做的更好!

 

 

 

 

  • 大小: 350.7 KB
1
1
分享到:
评论

相关推荐

    android webview input=file 失效解决方案

    在Android开发中,Webview是一个重要的组件,它允许我们在原生应用中内嵌网页内容,提供混合式应用的用户体验。然而,在使用Webview时,有时会遇到一个问题:当HTML页面中包含`&lt;input type="file"&gt;`用于上传文件的...

    Android webview调用摄像头扫描二维码

    本文将详细讲解如何在Android Webview中调用摄像头进行二维码扫描,并结合ZXing(Zebra Crossing)解析包进行二维码的解析。 首先,让我们了解Android Webview的基本用法。Webview是Android SDK提供的一种视图组件...

    android 代码高亮 syntaxHighlighter

    7. **替代方案**:除了`SyntaxHighlighter`,还有一些专门为Android设计的代码高亮库,如`GsonFormat`、`CodeView`等,它们可能更易于集成且性能更好,但也需要根据项目需求和资源来选择。 总之,通过将`...

    Android WebView 去除标题

    在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序中加载和显示网页内容。有时候,我们可能希望去除WebView中的标题部分,以实现更自定义化的界面设计。本篇文章将详细探讨如何在Android的...

    android webview 因iframe+target=“_blank “ 导致的页面无法正常打开或获取不到调整url

    在Android开发中,WebView是一个非常重要的组件,它允许我们在原生应用中内嵌网页内容,实现混合开发。然而,开发者时常会遇到一些棘手的问题,其中之一便是“android webview 因iframe+target=“_blank”导致的...

    Android webview加载网页.zip

    1. **WebView组件引入**:在AndroidManifest.xml文件中声明WebView权限,添加`&lt;uses-permission android:name="android.permission.INTERNET" /&gt;`以确保应用可以访问互联网。然后在布局XML文件中添加WebView组件,如...

    Android WebView H5调用拍照

    在Android应用开发中,WebView是一个非常重要的组件,它允许开发者在原生应用中展示网页内容。混合开发(Hybrid Development)结合了Web技术与原生应用的优势,使得开发者可以使用HTML5、CSS3和JavaScript来构建应用...

    Android webview调用相机和相册

    接下来,我们要处理WebView中的JavaScript与Android原生代码之间的交互。这里需要用到WebView的`addJavascriptInterface`方法,创建一个Java对象并暴露给JavaScript调用。例如,我们可以创建一个名为`...

    android Webview(H5)中调用相册和拍照

    在Android应用开发中,Webview是一个非常重要的组件,它允许我们加载并运行网页内容,甚至与JavaScript进行交互。本文将详细讲解如何在Android的Webview中调用相册和拍照功能,以实现H5与原生Android应用的深度集成...

    android webview播放网页视频

    在Android开发中,Webview是一个非常重要的组件,它允许我们加载和展示网页内容。当涉及到在Webview中播放网页视频时,这个问题可能会变得稍微复杂,因为Android原生的Webview并不总是支持所有现代HTML5视频特性。...

    html5游戏 Android+html5实现 类似连连看安卓游戏 安卓activity+webview+h5=2048程序员版 程序员人才玩的懂的2048升级版html离线小游戏 2048安.zip

    html5游戏 Android+html5实现 类似连连看安卓游戏 安卓activity+webview+h5=2048程序员版 程序员人才玩的懂的2048升级版html离线小游戏 2048安卓程序员版 android2048H5游戏安卓activity+webview+h5=2048程序员版...

    Android-解决在webview中input标签type="file"不能使用的问题

    在Android开发中,WebView是一个非常重要的组件,它允许我们在原生应用中嵌入网页内容,提供了一种混合式开发的解决方案。然而,在实际使用中,我们可能会遇到一些问题,比如在WebView中使用`&lt;input type="file"&gt;`...

    Android Webview滑动监听

    在Android开发中,Webview是一个非常重要的组件,它允许开发者在原生应用中嵌入网页内容,实现网页与原生应用的交互。本篇将详细讲解如何在Android Webview中实现滑动监听以及图片的放大缩小功能。 首先,我们要...

    Android webView拍照与展示相册图片

    2. **实现JavaScript接口**:为了让JavaScript与原生Android代码交互,我们需要创建一个JavaScriptInterface,并在WebView中注册它: ```java @JavascriptInterface public class WebAppInterface { Context ...

    实例详解Android Webview拦截ajax请求

    Android Webview 拦截 Ajax 请求的详细讲解 Android Webview 提供了页面加载及资源请求的钩子,但是对于 H5 的 Ajax 请求并没有提供干涉的接口。这意味着我们不能在 Webview 中干涉 JavaScript 发起的 HTTP 请求,...

    android webview 选择文件(拍照,本地相册) 百度定位自适应屏幕

    在Android开发中,Webview是一个重要的组件,它允许我们在原生应用中嵌入网页内容,实现混合开发。本文将深入探讨如何在Webview中实现文件选择功能,包括从本地相册选取图片和通过相机拍照,并结合百度定位服务来...

    Android webview QQ一键登录并向后台返回参数

    总的来说,Android Webview QQ登录涉及到前端WebView的设置、JavaScript与原生代码的交互、QQ开放平台的API调用以及与后台服务器的数据通信。理解并掌握这一流程对于开发具有社交功能的Android应用至关重要。在实际...

    通过css注入实现android webview的夜间模式

    然后,在Android应用中,我们需要在Webview加载网页之前或之后,使用`evaluateJavascript()`方法注入这段CSS代码。以下是一个简单的示例: ```java String nightModeCss = "document.head.innerHTML += '&lt;style&gt;...

    Android WebView另类实现 自由复制进入选择文字模式

    在Android开发中,WebView是一个非常重要的组件,它允许我们在原生应用中展示网页内容,提供了一种混合式应用开发的解决方案。本篇文章将深入探讨如何在Android WebView中实现自由复制和选择文字的功能,这对于增强...

    Android WebView加载网页以及本地图片缓存问题

    在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序内部加载和显示网页内容,而无需离开应用。WebView不仅能够加载远程HTTP/HTTPS网址,还能处理本地HTML、CSS和JavaScript资源,极大地增强了应用...

Global site tag (gtag.js) - Google Analytics