zoukankan      html  css  js  c++  java
  • android进度条

    android进度条

    1、达到的效果 

    2、布局代码

    先写一个my_browser.xml文件 存放WebView

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >
        
        <WebView
            android:id="@+id/webView"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" />
    </LinearLayout>


     进度条布局

    然后写一个broser.xml存放进度条的

    <?

    xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:id="@+id/tvtitle" android:layout_width="fill_parent" android:layout_height="wrap_content" android:focusableInTouchMode="true" android:singleLine="true" android:ellipsize="marquee" android:focusable="false" android:marqueeRepeatLimit="marquee_forever" android:textSize="20sp" android:layout_centerVertical="true"/> <ProgressBar android:id="@+id/pb" android:layout_width="fill_parent" android:layout_height="wrap_content" style="?android:attr/progressBarStyleHorizontal" android:visibility="gone" android:layout_alignParentBottom="true" > </ProgressBar> </RelativeLayout>


     WebChromeClient

    重写onProgressChanged和onReceivedTitle事件(进度条载入完毕后使用动画渐退)

    /**
     * MyWebChromeClient.java
     * 版权全部(C) 2012 
     * 创建:cuiran 2012-10-16 下午3:05:34
     */
    package com.cayden.citygirl.activity;
    
    import android.app.Activity;
    import android.view.View;
    import android.view.animation.Animation;
    import android.view.animation.AnimationUtils;
    import android.webkit.WebChromeClient;
    import android.webkit.WebView;
    import android.widget.ProgressBar;
    import android.widget.TextView;
    
    /**
     * TODO
     * @author cuiran
     * @version TODO
     */
    public class MyWebChromeClient extends WebChromeClient {
    
    	private Activity activity; 
    
    	private ProgressBar pb; 
    	
    	private Animation animation; 
    
    	private TextView tvtitle; 
    
    	public MyWebChromeClient(Activity activity) { 
    
    		this.activity = activity; 
    
    	} 
    
    
    	
    	@Override 
    	public void onProgressChanged(WebView view, int newProgress) { 
    		pb=(ProgressBar)activity.findViewById(R.id.pb); 
    		pb.setMax(100); 
    		if(newProgress<100){ 
    		if(pb.getVisibility()==View.GONE) pb.setVisibility(View.VISIBLE); 
    		pb.setProgress(newProgress); 
    		}else{ 
    		pb.setProgress(100); 
    		animation=AnimationUtils.loadAnimation(activity, R.anim.animation); 
    		// 执行动画 
    		 pb.startAnimation(animation); 
    		// 将 spinner 的可见性设置为不可见状态 
    		pb.setVisibility(View.INVISIBLE); 
    		} 
    		super.onProgressChanged(view, newProgress); 
    	} 
    	@Override 
    	public void onReceivedTitle(WebView view, String title) { 
    	
    		tvtitle=(TextView)activity.findViewById(R.id.tvtitle); 
    		
    		tvtitle.setText(title);
    		super.onReceivedTitle(view, title);
    		
    	
    	} 
    	
    	
    }
    


      进度条的动画样式 res/anim/animation.xml

    <?

    xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <alpha android:fromAlpha="1.0" android:toAlpha="0.0" android:duration="700"/> </set>


    5、程序启动类

    /**
     * ProgressActivity.java
     * 版权全部(C) 2012 
     * 创建:cuiran 2012-10-16 下午3:13:49
     */
    package com.cayden.citygirl.activity;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.Window;
    import android.webkit.WebView;
    
    /**
     * TODO
     * @author cuiran
     * @version TODO
     */
    public class ProgressActivity extends Activity {
    
    
    	private WebView browser; 
    	@Override 
    	public void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState); 
    	getWindow().requestFeature(Window.FEATURE_CUSTOM_TITLE); 
    	
    	setContentView(R.layout.my_browser); 
    	
    	getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.broser);
    	
    	browser = (WebView) findViewById(R.id.webView); 
    	
    	// currentWebView=browser; 
    	
    	browser.setWebChromeClient(new MyWebChromeClient(ProgressActivity.this)); 
    	
    	browser.loadUrl("http://shop.paipai.com/731681975/"); 
    
    	}
    
    }


     

  • 相关阅读:
    父子项目
    生成资源文件时候,可以动态替换为maven属性
    生命周期阶段与插件目标任务绑定
    私服
    仓库
    DotNetBar教程
    SQL基础--> 约束(CONSTRAINT)
    jQuery.Autocomplete实现自动完成功能(详解)
    C# 解析JSON格式数据
    JSON 数据格式解析
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/4584200.html
Copyright © 2011-2022 走看看