программно Я пытаюсь сделать кнопку в 100х100 пикселей и добавить его в GridLayout на позиции 3,3Android: Установка размера кнопки
Button btn = new Button(this);
btn.setLayoutParams(new ViewGroup.LayoutParams(100,100));
GridLayout grid4x4 = (GridLayout)findViewById(R.id.grid4x4);
//I've narrowed it down to the conclusion that this line is the problem:
grid4x4.addView(btn,new GridLayout.LayoutParams(GridLayout.spec(3),GridLayout.spec(3)));
//if i just use:
//grid4x4.addView(btn); I get the button the size I want it, but I need it to be on
//the 3,3 position of the grid.
Это «почти» работает, за исключением того, что добавленная кнопка больше, чем 100x100px, поскольку вы можете видеть, что я пытаюсь исправить размер, который я хочу по какой-то причине, это не тот размер, который я получаю.
Точно такой же результат, согласно документации, публичный конструктор LayoutParams уже принимает int как px, поэтому даже когда я ожидал, что это будет то же самое, что я пробовал, и это дало мне те же результаты. –
использовать dp вместо px! прочитайте это http://stackoverflow.com/a/2025541/4224337 – Rami
, если я использую 100dp в xml, кнопка становится больше, но если я устанавливаю ее на 50dp, которая будет эквивалентна 100px (на экране im test) он все еще не работает. Я знаю, что это может быть кнопка 100x100 px, потому что у меня уже есть еще один, который не добавлен программно. Tht правильно показывает, как я хочу. –