/ / एडिट टेक्स्ट बॉक्स के लेआउट मार्जिन कैसे सेट करें? - जावा, Android, दीर्घवृत्त

एडिट टेक्स्ट बॉक्स के लेआउट मार्जिन को कैसे सेट करें? - जावा, Android, दीर्घवृत्त

टेबल लेआउट में मेरे पास एक टैबलर है और उस टैबलर में मेरे पास 6 एडिट टेक्स्ट बॉक्स हैं और मैं उस 6 एडिट टेक्स्ट बॉक्स के लेआउट लेआउट सेट करना चाहता हूं

TableLayout t1=(TableLayout)findViewById(R.id.table_layout01);

TableRow tr1=new TableRow(inventory.this);
tr1.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));


tr1.setBackgroundColor(Color.BLACK);
EditText ed6=new EditText(inventory.this);
//ed6.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
/*ViewGroup.MarginLayoutParams editmargin=new ViewGroup.MarginLayoutParams(ViewGroup.MarginLayoutParams.FILL_PARENT,ViewGroup.MarginLayoutParams.WRAP_CONTENT);
editmargin.setMargins(leftMargin, rightMargin, topMargin, bottomMargin);*/


ed6.setTextColor(Color.BLACK);
ed6.setBackgroundColor(Color.WHITE);


ed6.setText("1");
tr1.addView(ed6);



EditText ed7=new EditText(inventory.this);
//ed7.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
ed7.setTextColor(Color.BLACK);
ed7.setBackgroundColor(Color.WHITE);
ed7.setText("2");

tr1.addView(ed7);

EditText ed8=new EditText(inventory.this);
//ed8.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
ed8.setTextColor(Color.BLACK);
ed8.setBackgroundColor(Color.WHITE);
ed8.setText("3");

tr1.addView(ed8);

EditText ed9=new EditText(inventory.this);
//ed9.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
ed9.setTextColor(Color.BLACK);
ed9.setBackgroundColor(Color.WHITE);
ed9.setText("4");

tr1.addView(ed9);

EditText ed10=new EditText(inventory.this);
//ed10.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
ed10.setTextColor(Color.BLACK);
ed10.setText("5");
ed10.setBackgroundColor(Color.WHITE);

tr1.addView(ed10);

EditText ed11=new EditText(inventory.this);
//ed11.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
ed11.setTextColor(Color.BLACK);
ed11.setText("6");
ed11.setBackgroundColor(Color.WHITE);

tr1.addView(ed11);

t1.addView(tr1);

उत्तर:

जवाब के लिए 8 № 1

सबसे पहले आपको कुछ जानना चाहिए: के अनुसार आधिकारिक Android देव पेज, दृश्य (और एक TextView देखें से निकलता है) मार्जिन की स्थापना का समर्थन नहीं करते हैं, लेकिन ViewGroups (जैसे कि LinearLayout, RelativeLayout आदि ...) करते हैं।

तो आप क्या कर सकते हैं निम्नलिखित है:

TableLayout.LayoutParams params = new TableLayout.LayoutParams();
params.setMargins(5, 5, 5, 5);
TextView view = new TextView(this);
view.setLayoutParams(params);

यह सभी बच्चों के लिए 5 पिक्सेल का अंतर निर्धारित करेगा - मैंने इसकी कोशिश की और यह मेरे लिए काम किया (यद्यपि एक के साथ LinearLayout ऊर्ध्वाधर संरेखण के साथ)। इसे एक शॉट दें और मुझे बताएं कि क्या मैं आगे मदद कर सकता हूं :)।

चीयर्स,

Ready4Fajir


जवाब के लिए 4 № 2

संपादित करें:
मैं नीचे एक्सएमएल के साथ कोशिश करूंगा (आप "डी, ज़ाहिर है, आईडी" आदि अपडेट करें)। Xml में "मैजिक" यह है कि यह सभी उपलब्ध चौड़ाई को समान रूप से वितरित करता है TextView"और ( EditText"दूसरी पंक्ति पर है)।

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<!-- The first "row" -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">

<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="TextView 01"
android:id="@+id/textView01" />

<!-- Here you"d add your other five TextView"s accordingly -->

</LinearLayout>

<!-- The second "row" -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">

<EditText
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="TextView 01"
android:id="@+id/editText01" />

<!-- Here you"d add your other five EditText"s accordingly -->

</LinearLayout>
</LinearLayout>

अपने जावा कोड में आप तब अपने EditText विचारों का उपयोग कर सकते हैं:

EditText editText01 = (EditText) findViewById(R.id.editText01);
editText01.setText("1");

मैंने अब इस तथ्य को नजरअंदाज कर दिया है कि आपको अपने EditText को प्रोग्रामेटिक रूप से बनाने की आवश्यकता है वास्तव में, वास्तव में जावा में उन्हें बनाने की आवश्यकता है? (क्यूं कर?)

पुराना उत्तर:
यदि आप लेआउट लेआउट को अपने EditText के दृश्य पर सेट करना चाहते हैं, तो मुझे लगता है कि आप इसका उपयोग कर सकते हैं setMargins(left, top, right, bottom) समारोह पर कॉल करें LayoutParams चर।

int left = 6;
int top = 12;
int right = 6;
int bottom = 6;

TableRow.LayoutParams params = new TableRow.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
params.setMargins(left, top, right, bottom);

EditText edXY = new EditText(inventory.this);
edXY.setLayoutParams(params);

यदि आप अंततः सभी उपलब्ध स्थान को समान रूप से छह EditText विचारों के बीच तालिका पंक्ति में वितरित करना चाहते हैं, तो मैं आपको निम्नलिखित पोस्ट पर एक नज़र डालने का सुझाव दूंगा: प्रत्येक कॉलम के लिए 50% के साथ 2-कॉलम TableLayout