2012-11-11 10 views
5

मैं अपने MapActivity.java में एक ओएसएमड्रॉइड मैपव्यू बना रहा हूं और मैं बटन & पॉप-अप जोड़ना चाहता हूं - मुझे केवल यह पता है कि यह .xml में कैसे किया जाता है लेकिन चूंकि यह MapView किसी भी .xml का उपयोग नहीं कर रहा है परेशान है कि मैं अपने जावा कोड के अंदर (छवि) बटन कैसे रख सकता हूं।मानचित्रदृश्य पर बटन

@Override 
public void onCreate(final Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    // Setup base map 
    final RelativeLayout rl = new RelativeLayout(this); 

    CloudmadeUtil.retrieveCloudmadeKey(getApplicationContext()); 

    final MapView osmv = new MapView(this, 256); 

    myMapController = osmv.getController(); 

    rl.addView(osmv, new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT, 
      LayoutParams.FILL_PARENT)); 
    osmv.setBuiltInZoomControls(true); 
    osmv.setMultiTouchControls(true); 

    myLocationoverlay = new MyLocationOverlay(this, osmv); 

//*snip* setup of map, mapcontrollers, tiles etc... 
    osmv.getOverlays().add(tilesOverlay); 
    osmv.getOverlays().add(myLocationoverlay); 

    this.setContentView(rl); 
} 

संपादित करें: मैं की तरह

<ImageButton 
    android:id="@+id/map_goto_location" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:src="@drawable/goto_location" 
    android:layout_alignParentRight="true" 
    android:layout_alignParentTop="true" 
    android:id="@+id/goto_location" /> 
+2

चूंकि आप 'RelativeLayout' में 'MapView' जोड़ रहे हैं, तो बस इस कंटेनर में कोई अन्य UI तत्व जोड़ें। बस 'MapView' जोड़ने के बाद उनको जोड़ना सुनिश्चित करें ताकि वे शीर्ष पर खींचे जाएं। आप या तो कोड में सभी यूआई तत्व सेट कर सकते हैं, या उन्हें एक्सएमएल में घोषित कर सकते हैं और उन्हें बढ़ाने के लिए 'लेआउट इन्फ्लेटर' का उपयोग कर सकते हैं। इसके अलावा, उन्हें बनाने/फुलाए जाने के बाद उन्हें जोड़ना न भूलें। –

उत्तर

4

एमएच के संकेत के लिए धन्यवाद एक बटन के बारे में बात कर रहा हूँ मुझे पता चला कि कैसे प्रोग्राम के रूप में नीचे मेरी कोड के लिए एक ImageButton जोड़ने के लिए:

ImageButton goto_location = new ImageButton(this); 
    goto_location.setOnClickListener(new OnClickListener() 
    { 
     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      showMylocation(); 
     }   
    }); 

    RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(40, 40); 
    params.rightMargin = 10; 
    params.topMargin = 10; 
    rl.addView(goto_location, params); 

यदि कोई मुझे बटन को कस्टमाइज़ करने और प्रोग्रामिंग रूप से UI तत्वों को जोड़ने पर कुछ अच्छे ट्यूटोरियल/उदाहरणों पर संकेत दे सकता है तो मैं बहुत खुश हूं।

+0

अपने लेआउट एक्सएमएल में इस बटन को परिभाषित करना भी संभव है। बस एक सापेक्ष Layout बनाएँ और osmdroid MapView और अपने बटन जोड़ें। – scai

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