2012-05-02 15 views
51

क्या आप मुझे किसी दिए गए स्थान पर RelativeLayout पर प्रोग्रामेटिक रूप से बाल दृश्य जोड़ने का एक बहुत ही सरल उदाहरण दे सकते हैं?RelativeLayout पर प्रोग्रामेटिक रूप से एक दृश्य कैसे जोड़ें?

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent"> 

<TextView 
    android:id="@+id/textView1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" 
    android:layout_marginLeft="107dp" 
    android:layout_marginTop="103dp" 
    android:text="Large Text" 
    android:textAppearance="?android:attr/textAppearanceLarge" /> 

मैं एक उचित RelativeLayout.LayoutParams उदाहरण बनाने के लिए कैसे समझ में नहीं आता:

उदाहरण के लिए, निम्न XML प्रतिबिंबित करने के लिए।

उत्तर

91

यहाँ एक उदाहरण है आरंभ करने के लिए, जो लागू हो बाकी भरें:

TextView tv = new TextView(mContext); 
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
    ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); 
params.addRule(RelativeLayout.ALIGN_PARENT_LEFT, RelativeLayout.TRUE); 
params.leftMargin = 107 
... 
mRelativeLayout.addView(tv, params); 

RelativeLayout.LayoutParams के लिए डॉक्स और कंस्ट्रक्टर here

+0

क्षमा करें, वही सवाल: जहां पहले पैरामीटर के रूप के बिना एक 'Context' के बारे में' RelativeLayout.LayoutParams' निर्माता सीखा? –

+1

@SuzanCioc – JRaymond

+0

से ऊपर संपादित करें देखें, क्षमा करें चौड़ाई और ऊंचाई सटीक मान होना चाहिए। –

27

सबसे पहले कर रहे हैं, आप के लिए एक आईडी देना चाहिए अपने सापेक्ष Layout कहना सापेक्ष Layout1।

RelativeLayout mainLayout = (RelativeLayout) findViewById(R.id.relativeLayout1); 
TextView mTextView = new TextView(context); 
mTextView.setText("Dynamic TextView"); 
mTextView.setId(111); 
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); 
params.addRule(RelativeLayout.ALIGN_PARENT_LEFT, RelativeLayout.TRUE); 
params.addRule(RelativeLayout.ALIGN_PARENT_TOP, RelativeLayout.TRUE); 
mainLayout.addView(mTextView, params); 
+0

'रिलेवेटिवआउटआउटआउटआउट' कन्स्ट्रक्टर कहां से वर्णित है? यह यहां http://developer.android.com/reference/android/widget/RelativeLayout.html नहीं है क्योंकि सभी प्रोटोटाइपों में 'पैराटेक्स्ट' पहले पैरामीटर के रूप में है। –

+1

आपको यहां देखना चाहिए http://developer.android.com/reference/android/widget/RelativeLayout.LayoutParams.html यह सापेक्ष Layout.LayoutParams (int w, int h) –

+0

'R.id.relativeLayout1' क्या है सन्दर्भ में? – Si8

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