Я создаю вкусный плагин PhoneGap, который, надеюсь, будет открыт, как только он будет готов. Плагин в основном закончен, мне просто нужен хороший интерфейс для взаимодействия с пользователем.
В двух словах, я хочусоздать "родной" компонент панели инструментов Android.Как бы вы это ни реализовали, если бы реализовали библиотеку TabG UIControls PhoneGap для IOS от Decaf Ninja Software.
В идеале;
- Панель инструментов должна вызываться из JavaScript через PhoneGap, чтобы «показать» и"hide".
- При этих вызовах размер приложения WebView изменяется, когда панель инструментов появляется / исчезает в нижней части экрана .
Я могу изменить размерappView при запуске с;
super.init();
//re-configure appView layout
super.appView.setLayoutParams(new LinearLayout.LayoutParams(width,
height));
Но я не уверен, что это правильный подход, также, как я могу сделать это во время выполнения?(веб-просмотр должен быть fill_parent при запуске приложения) Я предполагаю, что не могу использовать листы XML для изменения макета во время выполнения.Библиотека PhoneGap обрабатывает весь макет программным образом, поэтому я, вероятно, должен исключить из него XML.
Кроме того, поскольку appView защищен, с этим очень трудно играть, если я не расширяю DroidGap в своей деятельности: (
DroidGap.class
/* 184 */ this.root = new LinearLayoutSoftKeyboardDetect(this, width, height);
/* 185 */ this.root.setOrientation(1);
/* 186 */ this.root.setBackgroundColor(-16777216);
/* 187 */ this.root.setLayoutParams(new LinearLayout.LayoutParams(-1, -1, 0.0F));
затем,
/* 208 */ this.appView = new WebView(this);
/* 209 */ this.appView.setId(100);
/* 211 */ this.appView.setLayoutParams(new LinearLayout.LayoutParams(-1, -1, 1.0F));
и,
/* 249 */ bindBrowser(this.appView);
/* */
/* 252 */ this.appView.setVisibility(4);
/* 253 */ this.root.addView(this.appView);
/* 254 */ setContentView(this.root);
Любые идеи ??
Iдумаю, что это было бы полезно для тех, кто хочет реализовать встроенные элементы управления пользовательским интерфейсом поверх веб-обзора PhoneGap ~~~~
* EDIT
Iсмог принудительно установить относительную компоновку для родительского элемента приложения WebView, что позволило мне добавить другие относительные элементы, которые затем я могу контролировать выравнивание ...
с помощью; - (onCreate)
// Initiate appView
super.init();
setContentView(R.layout.main);
// Re-configure appView layout by adding a RelativeLayout between root view and appView
RelativeLayout view = (RelativeLayout)findViewById(R.id.phonegap_container);
html = (View)super.appView.getParent();
html.setBackgroundColor(Color.RED);
view.addView(html, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
Я все еще ищу некоторую помощь по анимации appView "вверх", когда моя навигационная панель оживляет снизу ......