Однако я столкнулся с двумя проблемами:
- EditText не отображается, если он не ограничен со всех четырех сторон, а это не то, чего я хочу. Я хочу, чтобы оно было ограничено только с трех сторон.
- Представление занимает весь макет, даже если для ширины и высоты установлено значение Wrap_content.
Код для EditText:
EditText editText = new EditText(this.context);
editText.setId(generateViewId());
editText.setLayoutParams(this.layoutParams);
editText.setMinWidth(convertDpToPx(20));
editText.setMinHeight(convertDpToPx(20));
editText.setTextSize(regularTextSizeSP);
editText.setTextColor(textColorID);
editText.setTypeface(typeFace);
editText.setBackground(null);
editText.setText(expression);
editText.setShowSoftInputOnFocus(false);
editText.setIncludeFontPadding(false);
editText.setPadding(0, 0, 0, 0);
editText.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
editText.setMovementMethod(null);
editText.setFocusableInTouchMode(true);
addViewToConstraint(editText);
Метод addViewToConstraint:
constraintSet = new ConstraintSet();
constraintSet.clone(this);
constraintSet.connect(view.getId(), ConstraintSet.START, this.getId(), ConstraintSet.START);
// constraintSet.connect(view.getId(), ConstraintSet.END, this.getId(), ConstraintSet.END);
constraintSet.connect(view.getId(), ConstraintSet.TOP, this.getId(), ConstraintSet.TOP);
constraintSet.connect(view.getId(), ConstraintSet.BOTTOM, this.getId(), ConstraintSet.BOTTOM);
constraintSet.applyTo(this);
Подробнее здесь: https://stackoverflow.com/questions/791 ... e-view-isn