Я пытаюсь найти aswer для этого, но я не мог.android - EditText width внутри TableRow
У меня есть TableLayout с двумя TableRow
s. В первом есть TextView
, что составляет около 150dp
ширины. Во втором - EditText
, ширина которого должна быть около 40dp
, но проблема в том, что ширина EditText
вынуждена соответствовать ширине TextView
, которая выше.
Мой вопрос в том, есть ли способ избежать этого? Я имею в виду, чтобы сделать ширину EditText
40dp
, независимо от того, что такое ширина TextView
, не создавая другой tablelayout?
Заранее спасибо. Извините за мой ограниченный английский.
В случае, если кто имеет эту проблему, я решил его с помощью следующего:
Предположив, что у вас есть строки таблицы с двумя или более элементами, положить layout_width в match_parent, то первый элемент layout_weight 1 и второй element to 2. Это заполнит всю строку двумя элементами, а второй будет иметь двойной размер первого. Если у вас более двух элементов, и один должен быть больше других, используйте вес 2 на этом элементе и вес 1 на других.
Надеюсь помочь кому-то.
я хотел бы предложить что-то с весами, как @The Dark Рыцарь внизу. –
Является ли макет, созданный динамически или из XML? В XML вы можете использовать android: layout_width = "40dp" в EditText. Если вы добавите EditText из кода, вы должны использовать объект LayoutParams и использовать метод addView (View, LayoutParams) класса ViewGroup. С помощью объекта LayoutParams вы можете указать размер представления в макете. – viplezer
В этом проблема, установка ширины указателя для меня не работает. Он по-прежнему меняет ширину, чтобы соответствовать TextView. – Ariel