РЕДАКТИРОВАТЬ:
Я хотел бы попробовать с XML ниже (вы, конечно, обновить идентификатор и т. Д.). «Волшебство» в 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>
В вашем Java-коде вы можете получить доступ к вашим представлениям EditText, например:
EditText editText01 = (EditText) findViewById(R.id.editText01);
editText01.setText("1");
Теперь я проигнорировал тот факт, что вам нужно создавать свой EditText программно. Вам действительно , действительно нужно создать их на Java? (Почему?)
СТАРЫЙ ОТВЕТ:
Если вы просто хотите установить поля разметки для вашего представления 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 в строке таблицы, я бы посоветовал вам взглянуть на следующий пост: TableLayout с двумя столбцами и 50% точно для каждого столбца