2011-09-06 10 views
5

मैं फोनगैप के साथ एक एंड्रॉइड एप्लिकेशन बनाने की कोशिश कर रहा हूं।मूल नियंत्रण के साथ एंड्रॉइड फोनगैप

मुझे फोनगैप वेबव्यू (super.appView) और इसके सभी जावास्क्रिप्ट जादू का उपयोग करने में सक्षम होना चाहिए, लेकिन मुझे वेबव्यू के आस-पास कुछ मूल UI नियंत्रण भी प्रदर्शित करने की आवश्यकता है।

इस पोस्ट में एक समाधान Android PhoneGap Plugin, UI tabbar, resize WebView

किसी को भी एक देशी यूआई के साथ PhoneGap को लागू करने में कामयाब रहे है प्रदान करने के लिए भाग रास्ता जाता है?

मैं भी एक GestureOverlayView लेकिन एक और कहानी thats का उपयोग किया जाएगा;)

उत्तर

12

उत्तर:

super.onCreate(savedInstanceState); 
//creates super.appView and calls setContentView(root) in DroidGap.java 
init(); 
//just an empty LinearLayout 
layoutId = R.layout.blank; 
view = new LinearLayout(this); 
setContentView(layoutId); 
view.addView(your_component_here); 
view.addView((View) appView.getParent()); //adds the PhoneGap browser at index 1 
//accesses the browser at index 1. Tells browser to not fill view 
view.getChildAt(1).setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, 1)); 
setContentView(view); 

मैं यह कैसे काम करता आपको बता करने के लिए संघर्ष होता है, सब मैं आपको बता सकता है कि यह करता है और यह मेरा अपना काम है।

एक अलग रंग के लिए दृश्य सेट मदद कर सकते हैं देखने के लिए क्या भी चल रहा है ....

view.setBackgroundColor(Color.BLUE); 

PhoneGap-1.0.0.jar साथ नवीनतम रिलीज अब तक कार्य करना।

+0

क्या आप परिणाम का स्क्रीनशॉट रख सकते हैं? – hadi

8

एक और अधिक क्लीनर दृष्टिकोण:

super.onCreate(savedInstanceState); 

// Create native view with UI controls. 
View header = View.inflate(getContext(), R.layout.header, null); 

// PhoneGaps WebView is located inside a LinearLayout. 
// The protected (and therefore inherited) variable root 
// references this LinearLayout. Add your native Views 
// to this variable. 
root.addView(header); 

// Create WebView and add it automatically to the LinearLayout. 
super.loadUrl("file:///android_asset/www/index.html"); 
+0

और आप वेबव्यू के नीचे देशी घटकों को भी जोड़ सकते हैं? – Edd

+1

हां, super.loadUrl ("फ़ाइल: ///android_asset/www/index.html") के बाद बस एक और दृश्य जोड़ें; root.addView (पाद लेख) के साथ; –

+0

क्या आप फोनगैप का उपयोग कर रहे हैं? – Edd

0

हाँ, आप देशी नियंत्रण HTML के भीतर प्लगइन का उपयोग करके एम्बेड कर सकते हैं।

मूल विधि को कॉल करें जिसमें प्लगइन का उपयोग करके HTML पृष्ठ से आपका मूल दृश्य शामिल है।

उदा। window.plugins.anatomyPlugin.showAudio();

मैं मूल में ऑडियो प्लेयर डिज़ाइन दिखाने के लिए इसका उपयोग करता हूं।

यह guide फोनगैप से सहायक हो सकता है।

संबंधित मुद्दे