一個android的webview的例子

來源:互聯網
上載者:User

標籤:android   class   blog   code   java   http   


核心部分代碼

package com.example.app;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import android.support.v7.app.ActionBarActivity;import android.support.v7.app.ActionBar;import android.support.v4.app.Fragment;import android.os.Bundle;import android.os.Handler;import android.view.GestureDetector;import android.view.LayoutInflater;import android.view.Menu;import android.view.MenuItem;import android.view.MotionEvent;import android.view.View;import android.view.View.OnTouchListener;import android.view.ViewGroup;import android.webkit.WebSettings.LayoutAlgorithm;import android.webkit.WebView;import android.webkit.WebViewClient;import android.widget.ArrayAdapter;import android.widget.ListView;import android.widget.SimpleAdapter;import android.widget.TextView;import android.os.Build;public class MainActivity extends ActionBarActivity {private TextView mNews;private TextView interview;private WebView mWebView; final int RIGHT = 0;      final int LEFT = 1;      private GestureDetector gestureDetector;          @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);                mWebView = (WebView) findViewById(R.id.webview);        mWebView.setWebViewClient(new webViewClient());         mWebView.setHorizontalScrollBarEnabled(false);        mWebView.getSettings().setLoadWithOverviewMode(true);        mWebView.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);        mWebView.loadUrl("http://www.itbuluoge.com/app/index.php?action=interview");             mNews=(TextView)findViewById(R.id.news);        mNews.setClickable(true); //設定tv為可點擊。        mNews.setOnTouchListener(new OnTouchListener()        {   //添加OnClickListener@Overridepublic boolean onTouch(View v, MotionEvent event) {// TODO Auto-generated method stubmWebView.loadUrl("http://www.itbuluoge.com/app/index.php?action=news");     return false;}                    });                interview=(TextView)findViewById(R.id.interview);        interview.setClickable(true); //設定tv為可點擊。        interview.setOnTouchListener(new OnTouchListener()        {   //添加OnClickListener@Overridepublic boolean onTouch(View v, MotionEvent event) {// TODO Auto-generated method stubmWebView.loadUrl("http://www.itbuluoge.com/app/index.php?action=interview");     return false;}                    });                gestureDetector = new GestureDetector(MainActivity.this,onGestureListener);          /*        listView=(ListView)this.findViewById(R.id.listView);      //產生動態數組,加入資料          ArrayList<HashMap<String, Object>> listItem = new ArrayList<HashMap<String, Object>>();          for(int i=0;i<10;i++)          {              HashMap<String, Object> map = new HashMap<String, Object>();              map.put("title", "百度面試經驗指南 "+i);              map.put("datetime", "2月4號"+i);              listItem.add(map);          }      //產生適配器的Item和動態數組對應的元素          SimpleAdapter listItemAdapter = new SimpleAdapter(this,listItem,//資料來源               R.layout.item,//ListItem的XML實現              //動態數組與ImageItem對應的子項                      new String[] {"title","datetime"},               //ImageItem的XML檔案裡面的一個ImageView,兩個TextView ID              new int[] {R.id.title,R.id.datetime}          );                   //添加並且顯示          listView.setAdapter(listItemAdapter);        */        if (savedInstanceState == null) {            getSupportFragmentManager().beginTransaction()                    .add(R.id.container, new PlaceholderFragment())                    .commit();        }                    }/*private void show() {// TODO Auto-generated method stubList<String> data = new ArrayList<String>();List<HashMap<String,Object>> data=new ArrayList<HashMap<String,Object>>();for(news str :list){HashMap<String,Object> item= new HashMap<String,Object>();item.put("title", str.title);item.put("datetime", str.datetime);}    SimpleAdapter adapter=new SimpleAdapter(this,data,R.layout.item,new String[]{"title","datetime"},new int[]{R.id.title,R.id.datetime});        listView.setAdapter(adapter);    }*/    private GestureDetector.OnGestureListener onGestureListener =               new GestureDetector.SimpleOnGestureListener() {              @Override              public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,                      float velocityY) {                  float x = e2.getX() - e1.getX();                  float y = e2.getY() - e1.getY();                        if (x > 0) {                      doResult(RIGHT);                  } else if (x < 0) {                      doResult(LEFT);                  }                  return true;              }          };                  public boolean onTouchEvent(MotionEvent event) {              return gestureDetector.onTouchEvent(event);          }                public void doResult(int action) {                if(action==0)//右邊        {        this.mWebView.loadUrl("http://www.itbuluoge.com/app/index.php?action=interview");        }        else        {        this.mWebView.loadUrl("http://www.itbuluoge.com/app/index.php?action=news");        }                   }  private List<String> getData() {// TODO Auto-generated method stubList<String> data = new ArrayList<String>();        data.add("測試資料1");        data.add("測試資料2");        data.add("測試資料3");        data.add("測試資料4");                 return data;}@Override    public boolean onCreateOptionsMenu(Menu menu) {                // Inflate the menu; this adds items to the action bar if it is present.        getMenuInflater().inflate(R.menu.main, menu);        return true;    }    @Override    public boolean onOptionsItemSelected(MenuItem item) {        // Handle action bar item clicks here. The action bar will        // automatically handle clicks on the Home/Up button, so long        // as you specify a parent activity in AndroidManifest.xml.        int id = item.getItemId();        if (id == R.id.action_settings) {            return true;        }        return super.onOptionsItemSelected(item);    }    /**     * A placeholder fragment containing a simple view.     */    public static class PlaceholderFragment extends Fragment {        public PlaceholderFragment() {        }        @Override        public View onCreateView(LayoutInflater inflater, ViewGroup container,                Bundle savedInstanceState) {            View rootView = inflater.inflate(R.layout.fragment_main, container, false);            return rootView;        }    }        class webViewClient extends WebViewClient{         //重寫shouldOverrideUrlLoading方法,使點選連結後不使用其他的瀏覽器開啟。      @Override      public boolean shouldOverrideUrlLoading(WebView view, String url) {          view.loadUrl(url);          //如果不需要其他對點選連結事件的處理返回true,否則返回false          return true;      }              } }

採用webview,並且處理了禁止了頁面橫條的效果。

http://download.csdn.net/detail/jianghuihong2012/7502237



IT部落格(http://www.itbuluoge.com)-快樂快速學習,專註於免費編程教程,線上編程,IT面試筆記,IT面試經驗

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.