Урок 32. Пишем простой браузер
Re: Урок 32. Пишем простой браузер
скорее всего всё таки нельзя. Всплывает разве что вопрос: зачем? ибо это изврат так как webview крепится к форме а не наоборот.
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
-
- Сообщения: 103
- Зарегистрирован: 10 сен 2012, 11:58
Re: Урок 32. Пишем простой браузер
Насколько я помню, на легковесном контейнере JPanel, можно было нестить практически все остальные компоненты (Buttons, Scroll, и т.д.). После того, как он выставлялся transparent, это фактически была стеклянная панель с custom made компонентами на ней. Получалось очень даже ничего. В android я пока такого еще не видел.
Re: Урок 32. Пишем простой браузер
dil_android
Посмотрите в сторону RelativeLayout, но точней сказать не могу, так как мне не понятно ваше слово нестить.
П.С. в интернете толкование слова нестить не нашел, может дадите его определение?
Посмотрите в сторону RelativeLayout, но точней сказать не могу, так как мне не понятно ваше слово нестить.
П.С. в интернете толкование слова нестить не нашел, может дадите его определение?
Re: Урок 32. Пишем простой браузер
а если разместить компонент (кнопку и т.д.) поверх webview то это можно при помощи разметки RelativeLayout. Нужна было такая система когда лепил MapView.
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Урок 32. Пишем простой браузер
Я тоже не понимаю в чем проблема. В WebView и не нужно добавлять никакие компоненты, потому как это не контейнер ViewGroup, а поверх его пожалуйста, сколько хотите.
Поместите WebView в контейнер RelativeLayout или FrameLayout и поверх WebView помещайте любые другие компоненты, кнопки, чекбоксы, текстовые поля и т.п. , но они будут помещаться не в WebView, а в контейнер ViewGroup.
Поместите WebView в контейнер RelativeLayout или FrameLayout и поверх WebView помещайте любые другие компоненты, кнопки, чекбоксы, текстовые поля и т.п. , но они будут помещаться не в WebView, а в контейнер ViewGroup.
-
- Сообщения: 103
- Зарегистрирован: 10 сен 2012, 11:58
Re: Урок 32. Пишем простой браузер
google translate дает определение nest как "группа однородных предметов". Это мой доморощенный перевод из Java. Panels are components that can be actually displayed on screen (Панели - это компоненты которые могут быть показаны на экране). Но, вообще то, в книжках по Java очень часто используется определение Nested (nesting) Panels and Components.
А задумка возникла из желания посадить кнопку back на webview.
А задумка возникла из желания посадить кнопку back на webview.
Re: Урок 32. Пишем простой браузер
WebView не является контейнером, оно предусмотрено для отображения гипертекстовых страниц. А кнопки и т.д. нужно лепить на общем лейауте и webview вместе с ними. Layout и есть та "прозрачная панель" о которой вы и говорите.
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Урок 32. Пишем простой браузер
Вопрос:
При нажатии на кнопку у меня открывается родной браузер, нету выбора не подскажите в чем может быть проблема?
При нажатии на кнопку у меня открывается родной браузер, нету выбора не подскажите в чем может быть проблема?
Re: Урок 32. Пишем простой браузер
Извините нашел ошибку!
Код: Выделить всё
//нужно было
<action android:name="android.intent.action.VIEW"/>
Код: Выделить всё
//написал
<action android:name="android.intent.action.View"/>
Re: Урок 32. Пишем простой браузер
Прошу помощи, может тут кто поможет?
Добавил в assets файл pref.html в котором установил "якоря" в виде <a href="topic1"></a> ну т.д. При открытии этого файла в браузере как pref.html#topic1 осуществляется переход к нужному якорю. При вызове же через myBrowser.loadUrl("file:///android_asset/pref.html#topic1"); никакого перехода к сожалению не осуществляется. Как быть? Спасибо
Добавил в assets файл pref.html в котором установил "якоря" в виде <a href="topic1"></a> ну т.д. При открытии этого файла в браузере как pref.html#topic1 осуществляется переход к нужному якорю. При вызове же через myBrowser.loadUrl("file:///android_asset/pref.html#topic1"); никакого перехода к сожалению не осуществляется. Как быть? Спасибо
Re: Урок 32. Пишем простой браузер
Тут несколько решений предложены, смотрели?dubok79 писал(а):При вызове же через myBrowser.loadUrl("file:///android_asset/pref.html#topic1"); никакого перехода к сожалению не осуществляется
http://stackoverflow.com/questions/3039 ... ot-working
Насколько я понял, смысл в том, чтобы вызывать ссылку с якорем только после того, как страница целиком загрузилась.
-
- Сообщения: 10
- Зарегистрирован: 14 дек 2012, 05:19
Re: Урок 32. Пишем простой браузер
Подскажите пожалуйста, а где андроид хранит выбранный вариант, когда при указании приложения поставили галочку "use by default for this action" ? И можно ли получить список вариантов, не вызывая диалог выбора, т.е. незаметно для пользователя?
UPD: Про список вариантов, кажется, нашёл. Package Manager, queryIntentActivities
UPD: Про список вариантов, кажется, нашёл. Package Manager, queryIntentActivities
Re: Урок 32. Пишем простой браузер
А можно поподробнее??? У меня ничего не получилось... Что ставить вместо "текстовоеполе"?? Id Edit'a или что то другое?Finch писал(а):Код: Выделить всё
String link = "http://www.ya.ru/yandsearch?text=" + текстовоеполе.getText().toString(); @Override public void onClick(View v) { if(текстовоеполе.getText().length() > 0) { браузер.loadUrl(link); } else { Toast.makeText(getApplicationContext(), "Поле не может быть пустым.", Toast.LENGTH_LONG).show(); } }
Re: Урок 32. Пишем простой браузер
доброе утро, как узнать загрузилась страница или еще грузиться ... (хочу реализовать если еще грузиться вывод прогресса или чет на подобии ...)
Re: Урок 32. Пишем простой браузер
все нашел .... если кому пригодится вот код ...
text - это WebView
loading - это TextView
Код: Выделить всё
text.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress)
{
loading.setText("Идет загрузка ["+progress+"%], ожидайте...");
System.out.println("progress "+progress);
if (progress < 100 && loading.getVisibility() == TextView.GONE) {
loading.setVisibility(TextView.VISIBLE);
}
if (progress == 100) {
loading.setVisibility(TextView.GONE);
}
}
});
loading - это TextView
Re: Урок 32. Пишем простой браузер
При изменении ориентации экрана, активити пересоздается и страница перезагружается, можно ли сделать так чтобы активити не пересоздавалось?
Re: Урок 32. Пишем простой браузер
в манифесте для необходимой активити нужно добавить параметр android:configChanges="orientation", пример:busylee писал(а):При изменении ориентации экрана, активити пересоздается и страница перезагружается, можно ли сделать так чтобы активити не пересоздавалось?
Код: Выделить всё
<activity android:name="MainActivity" android:configChanges="orientation">
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Урок 32. Пишем простой браузер
Люди помогите! новичек в этом деле, знаю php но андроид мне с трудом дается, не могу понять работу методов, ну да ладно, изучу позже! а на данный момент хочу сделать простой браузер, который бы при открытии работал в fullscreen и отображал страничку, адрес (напрмер http://mysite.php) которой в конфигурационном файле находиться, а он соответсвенно не в программе а в какойнить директории, кто подскажет готовый вариант? в дальнейшем хотел бы чтоб этот браузер при открытии страницы еще в фоне парсил адрес сайта (например http://mysite_status.php) и вытягивал от туда значение статуса с переодичностью полминуты, если статус OK то браузер открывает страницу из конфигурационного файла, а если статус NO то пишет что нет связи с сервром, пытаюсь восстановить связь, как только статус парсера OK, браузер снова проходит на страничку из конфигурационного файла.
Смысл этого парсера в том, чтобы браузер определял, доступен ли сервер, и если доступен то запускалась домашняя страница. Можно попробовать и пинговать сервер, но я думаю лучше парсить. Кто поможет мне в этом деле? за вознограждение соответсвенно))
Смысл этого парсера в том, чтобы браузер определял, доступен ли сервер, и если доступен то запускалась домашняя страница. Можно попробовать и пинговать сервер, но я думаю лучше парсить. Кто поможет мне в этом деле? за вознограждение соответсвенно))
Re: Урок 32. Пишем простой браузер
что бы что то парсить браузер не нужен, вот один из вариантов проверки доступности сайта:
Код: Выделить всё
private boolean isUrlConnect() {
HttpURLConnection urlConnection;
URL url = new URL("http://mysite.php/");
try {
urlConnection = (HttpURLConnection) url.openConnection();
}catch(Exception e){
Log.e(TAG,"OpenConnection call failed");
}
return true;
}
return false;
}
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Урок 32. Пишем простой браузер
а как мне его с браузером моим связать? Повторюсь нужен браузер , который по доступности сайта открывал страничку из конфиг файла?rezak90 писал(а):что бы что то парсить браузер не нужен, вот один из вариантов проверки доступности сайта:Код: Выделить всё
private boolean isUrlConnect() { HttpURLConnection urlConnection; URL url = new URL("http://mysite.php/"); try { urlConnection = (HttpURLConnection) url.openConnection(); }catch(Exception e){ Log.e(TAG,"OpenConnection call failed"); } return true; } return false; }