Как я могу создать определенное количество редактируемых текстов, оставаясь рядом друг с другом программно в android?
Я пытаюсь создать ряд редактируемых текстов программно, не используя XML, но при этом столкнулся с некоторыми проблемами. Вот фрагмент кода:
lang= "java" >
private void createEditText(int l, int topMargin){ ViewGroup.MarginLayoutParams vlp = (ViewGroup.MarginLayoutParams) editText.getLayoutParams(); LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(vlp.width, vlp.height); layoutParams.setMargins((vlp.leftMargin + l) - vlp.width - vlp.height - 25, topMargin, vlp.rightMargin, vlp.bottomMargin); final EditText newEditText = new EditText(this); newEditText.setBackgroundResource(R.drawable.rounded_edittext); newEditText.setLayoutParams(layoutParams); linearLayout.addView(newEditText); } private void numberOfEditTexts(){ String[] words = Answers.answers[getCurrentLevel()].split(" "); int l = 0, topMargin = 450; for(int i = 0; i < words.length - 1; i++){ createEditText(l, topMargin); l += editText.getLayoutParams().width + 5; if(i == 0) topMargin -= 560; } }
Первая функция создает редактируемый текст, и я посылаю ей 2 параметра, из которых topMargin-это переменная, определяющая координаты высоты редактируемого текста. Таким образом, проблема заключается в том, что этот текст редактирования будет отображаться по-разному на разных устройствах из-за их размеров экрана. Как я могу это исправить? Как я могу избежать установки позиции вручную?
Заранее спасибо.
Что я уже пробовал:
Я пытался получить значение высоты экрана и использовать его процент, например, 5% или 10% от него, но, к сожалению, это не сработало.