2011-08-24 32 views
13

Tôi đang tạo một plugin PhoneGap ngon mà hy vọng sẽ được mở khi nó sẵn sàng .. Plugin này chủ yếu là xong, tôi chỉ cần một giao diện đẹp cho người dùng tương tác .Plugin Android PhoneGap, UI tabbar, thay đổi kích thước WebView

Tóm lại, tôi muốn tạo thành phần thanh công cụ Android "gốc". Phần lớn bạn sẽ làm thế nào nếu bạn triển khai Thư viện PhoneGap UIControls Tabcho iOS bởi Phần mềm Decaf Ninja.

Lý tưởng nhất;

  • Thanh công cụ phải được gọi từ JavaScript qua PhoneGap để "hiển thị" và "ẩn".
  • Trên các cuộc gọi này, ứng dụng WebViewView được thay đổi kích thước khi thanh công cụ xuất hiện/biến mất từ cuối màn hình.

Tôi có thể đổi kích thước ứng dụngXem khi khởi chạy;

super.init(); 

//re-configure appView layout 
super.appView.setLayoutParams(new LinearLayout.LayoutParams(width, 
height)); 

Nhưng tôi không chắc đây có phải là cách tiếp cận phù hợp hay không, làm cách nào để tôi có thể thực hiện trong thời gian chạy? (webview nên được fill_parent lúc bắt đầu ứng dụng) Tôi giả sử tôi không thể sử dụng các trang tính XML để thay đổi bố cục trong thời gian chạy giữa . Thư viện PhoneGap xử lý tất cả bố cục theo chương trình để tôi có lẽ nên để XML ra khỏi nó.

Cũng như appView được bảo vệ rất khó để chơi với này trừ khi tôi không mở rộng DroidGap trong hoạt động của tôi :(

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)); 

sau đó,

/* 208 */  this.appView = new WebView(this); 
/* 209 */  this.appView.setId(100); 
/* 211 */  this.appView.setLayoutParams(new LinearLayout.LayoutParams(-1, -1, 1.0F)); 

và,

/* 249 */  bindBrowser(this.appView); 
/*  */ 
/* 252 */  this.appView.setVisibility(4); 
/* 253 */  this.root.addView(this.appView); 
/* 254 */  setContentView(this.root); 

Bất kỳ ý tưởng nào ??

Tôi nghĩ rằng đây sẽ hữu ích cho bất cứ ai muốn thực hiện điều khiển giao diện người dùng tự nhiên trên đầu trang của webview PhoneGap của ~~~~

* EDIT

tôi đã có thể buộc một bố trí tương đối cho phụ huynh của WebView appView đó giúp tôi thêm các yếu tố liên quan khác mà tôi sau đó có thể kiểm soát sự liên kết ...

với; - (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)); 

tôi vẫn đang tìm kiếm một số giúp đỡ về hoạt cảnh appView "lên" khi thanh nav của tôi sinh động lên từ phía dưới ......

+1

Có thể bạn có thể xem xét việc sử dụng FrameLayout để định vị WebView và thanh công cụ theo cách thủ công. –

Trả lời

Các vấn đề liên quan