Как выровнять вертикальный вид текста и редактировать текст в Linearlayout в Android
В настоящее время я пытаюсь закодировать текстовое представление и текст редактирования для выравнивания по вертикали, используя Linearlayout в Android Studio. Я попытался установить гравитацию макета и другой элемент, но я не могу добиться того, чего хочу, в данный момент это мой код.
LinearLayout params3 = new LinearLayout(this);
params3.setOrientation(LinearLayout.VERTICAL);
params3.setGravity(Gravity.CENTER_VERTICAL);
LinearLayout.LayoutParams params2 = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
params2.weight = 35;
params3.setLayoutParams(params2);
params2.height = convertDiptoPix(80,context);
//params2.leftMargin = convertDiptoPix(5,context);
TextView textView1 = new TextView(this);
textView1.setId(View.generateViewId());
textView1.setGravity(Gravity.TOP | Gravity.CENTER_HORIZONTAL);
textView1.setPadding(0,convertDiptoPix(1,context),0,convertDiptoPix(3,context));
textView1.setText("Receipt");
textView1.setTextColor(Color.parseColor("#000000"));
//textView1.setLayoutParams(params2);
textView1.setTextSize(convertDiptoPix(13,context));
EditTextIME editTextIME = new EditTextIME(this);
editTextIME.setId(View.generateViewId());
//editTextIME.setWidth(LinearLayout.LayoutParams.MATCH_PARENT);
//editTextIME.setMinimumHeight(LinearLayout.LayoutParams.WRAP_CONTENT);
editTextIME.setGravity(Gravity.BOTTOM | Gravity.CENTER_VERTICAL);
//editTextIME.setLayoutParams(params2);
editTextIME.setFocusableInTouchMode(true);
editTextIME.setKeyListener(DigitsKeyListener.getInstance("abcdefghijklmnopqrstuvwxyzöäüßñéúíóáèùòìàâãåæçëêìíîïôõûýABCDEFGHIJKLMNOPQRSTUVWXYZÖÄÜÕÔÒÔÓÙÚÛÝÑÇÈÉÊËÌÍÎÏÆÅÄÃÂÁÀØ01234567890()&*$%#!+-:;,._?¿/><[]{}|\\^ "));
editTextIME.setHint("Notes");
editTextIME.setInputType(InputType.TYPE_CLASS_TEXT);
editTextIME.setHorizontallyScrolling(true);
editTextIME.setTextSize(convertDiptoPix(13,context));
кто-нибудь пробовал закодировать как вертикальное выравнивание в андроид студии? Можете ли вы поделиться своей идеей?
1 ответ
Вы можете попробовать это,
LinearLayout parent = new LinearLayout(context);
parent.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT));
parent.setOrientation(LinearLayout.VERTICAL);
LinearLayout.LayoutParams params2 = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
TextView textView1 = new TextView(this);
textView1.setLayoutParams(params2);
textView1.setId(View.generateViewId());
textView1.setGravity(Gravity.TOP | Gravity.CENTER_HORIZONTAL);
textView1.setText("Receipt");
textView1.setTextColor(Color.parseColor("#000000"));
EditText editTextIME = new EditText(this);
editTextIME.setId(View.generateViewId());
editTextIME.setGravity(Gravity.BOTTOM | Gravity.CENTER_VERTICAL);
editTextIME.setLayoutParams(params2);
editTextIME.setFocusableInTouchMode(true);
editTextIME.setKeyListener(DigitsKeyListener.getInstance("abcdefghijklmnopqrstuvwxyzöäüßñéúíóáèùòìàâãåæçëêìíîïôõûýABCDEFGHIJKLMNOPQRSTUVWXYZÖÄÜÕÔÒÔÓÙÚÛÝÑÇÈÉÊËÌÍÎÏÆÅÄÃÂÁÀØ01234567890()&*$%#!+-:;,._?¿/><[]{}|\\^ "));
editTextIME.setHint("Notes");
editTextIME.setInputType(InputType.TYPE_CLASS_TEXT);
editTextIME.setHorizontallyScrolling(true);
// editTextIME.setTextSize(convertDiptoPix(13,context));
parent.addView(textView1);
parent.addView(editTextIME);