Я пытаюсь сделать типичную вещь, когда вы загружаете данные в строку URL, вызываете API диаграммы Google со всей этой датой, а затем загружаете ее в веб-просмотр.
Вопрос: есть ли у кого-то прямой «правильный» способ сделать это?
Я возился с этим всю ночь.
Вот главная проблема:
Для веб-просмотра установлено значение Fill_Parent. Это означает, что я не знаю точную ширину и высоту. Поскольку API Google требует, чтобы вы указали ширину и высоту, как именно я могу получить ширину и высоту веб-просмотров, чтобы я мог отправить их? Я пробовал это решение:
final WebView web = (WebView)findViewById(R.id.webviewgraph);
ViewTreeObserver tree = web.getViewTreeObserver();
tree.addOnGlobalLayoutListener(new OnGlobalLayoutListener()
{
@Override
public void onGlobalLayout()
{...code continues
И кажется, что все в порядке, но когда я вызываю web.getWidth (), web.getDrawingBounds () или web.getMeasuredWidth (), я всегда возвращаюсь БОЛЬШЕ, чем на самом деле держит экран. Сейчас я решаю эту проблему, вычитая постоянное смещение в 136 пикселей ... но, увы, это НЕ совместимо со всеми устройствами.
Кто-нибудь знает "правильный" способ использования API карт Google с плавным просмотром веб-страниц? Или, может быть, кто-то знает, как получить действительную правильную ширину и высоту вида?
Спасибо
UPDATE
Я изменил свой код так, что теперь я использую пользовательский веб-просмотр, который переопределяет событие OnSizeChanged. Возвращаемая ширина и высота ... к сожалению, все те же ... просто слишком большие.
UPDATE
Проанализировав ширину и высоту, я придумал следующее:
int w = (int)((float)width * .667f);
int h = (int)((float)height * .667f);
Пока это работает на устройствах, на которых я тестирую. Почему ширина и высота возвращаются на 1/3 БОЛЬШЕ, чем фактическая ширина? Понятия не имею.