Модераторы: javastic
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как доделать браузер? Есть интерес сделать свой браузер 
:(
    Опции темы
witnas
Дата 30.1.2013, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 30.1.2013

Репутация: нет
Всего: нет



Есть потребность сделать свой браузер со стартовой страницей яндекса.
но никак не могу реализовать пинч зум. нет конкретного примера, а так я уже моз сломал.
есть базовый(готовый) год без пинча. помогите кто нибудь советом, а лучше кодом.

основа выглядит так:
MainAktivity.jar
Код

package ru.witnaswiki;

import android.os.Bundle;
import android.app.Activity;
import android.view.KeyEvent;
import android.view.Menu;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class MainActivity extends Activity {
 private class HelloWebViewClient extends WebViewClient 
 {
     @Override
     public boolean shouldOverrideUrlLoading(WebView view, String url) 
     {
         view.loadUrl(url);
         return true;
     }
 }
 
 WebView mWebView;

 public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.activity_main);
             
     mWebView = (WebView) findViewById(R.id.webview);

     mWebView.getSettings().setJavaScriptEnabled(true);

     mWebView.loadUrl("http://yandex.ru");
     mWebView.setWebViewClient(new HelloWebViewClient());
     ; 
 }
 @Override
 public boolean onCreateOptionsMenu(Menu menu) {

  getMenuInflater().inflate(R.menu.activity_main, menu);
  return true;
 }
 @Override
 public boolean onKeyDown(int keyCode, KeyEvent event) {
  if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {
   mWebView.goBack();
   return true;
  }
  return super.onKeyDown(keyCode, event);
 }
}



ну как сюда встроить пинч-зум??? smile 



я пробовал такое решение, 

Код

package ru.witnasbaiki;

import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.util.AttributeSet;
import android.util.Log;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MotionEvent;
import android.view.ScaleGestureDetector;
import android.view.ScaleGestureDetector.OnScaleGestureListener;
import android.view.View;
import android.view.View.OnTouchListener;
import android.webkit.WebView;
import android.webkit.WebViewClient;


public class MainActivity extends Activity
{public class MyTextView extends WebView implements OnTouchListener,OnScaleGestureListener {
    public ScaleGestureDetector scaledetector;   
    private class HelloWebViewClient extends WebViewClient 
    {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) 
        {
            view.loadUrl(url);
            return true;
        }
    }   
    
    WebView mWebView;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
                
        mWebView = (WebView) findViewById(R.id.webview);
        // включаем поддержку JavaScript
        mWebView.getSettings().setJavaScriptEnabled(true);
        // указываем страницу загрузки
        mWebView.loadUrl("http://www.bayki.org/");
        mWebView.setWebViewClient(new HelloWebViewClient());
        ; 
    } ScaleGestureDetector mScaleDetector = new ScaleGestureDetector(getContext(), this); 
    
      
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    } 
     public MyTextView(Context context, AttributeSet attrs) {   
     super(context, attrs);   
     Log.d("mWebView", "mWebView");   
     }   
     @Override   
     public boolean onScale(ScaleGestureDetector detector) {   
     Log.d("mWebView", "onScale");   
     return true;   
     }   
            @Override   
     public boolean onScaleBegin(ScaleGestureDetector detector) {   
     Log.d("mWebView", "onScaleBegin");   
     return true;   
     }   
     @Override   
     public void onScaleEnd(ScaleGestureDetector detector) {   
     Log.d("mWebView", "onScaleEnd");   
     }   
     @Override   
     public boolean onTouch(View v, MotionEvent event) {   
     Log.d("mWebView", "onTouch");   
     if(mScaleDetector.onTouchEvent(event)) return true;   
     
     return super.onTouchEvent(event); 
    }   

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {
            mWebView.goBack();
            return true;
        }
        return super.onKeyDown(keyCode, event);
      
}}}

но видимо запутался в кодах...


ПА МА ГИ ТЕ!!! smile 
PM MAIL   Вверх
HeyThere
Дата 3.3.2013, 19:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 1.3.2013

Репутация: нет
Всего: нет



Простите за smile 
Зачем еще один браузер? Уже есть устоявшийся софт, никто не будет переходить на чьи-то любительские разработки.
PM MAIL   Вверх
Wowa
Дата 3.3.2013, 21:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



Ну софт необязательно делают для того, чтобы на него переходили. Многие пишут софт, чтобы научиться.
PM WWW   Вверх
tester3000
  Дата 3.3.2013, 22:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 10.11.2007

Репутация: нет
Всего: нет



PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Android | Следующая тема »


 




[ Время генерации скрипта: 0.0583 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.