Кнопка должна наследовать setWidth(int pixels)
от TextView (поскольку она расширяет ее). Вы пытались использовать это? E.g.:
myButton.setWidth(100);
myButton.setHeight(50);
//Now myButton is 100px wide and 50px tall
Убедитесь, что раскрыли раскрывающийся список «Унаследованные методы» при поиске методов на странице Кнопка в документации. Вы также можете расширить «Унаследованные атрибуты».
Редактировать: Хорошо, я укушу - если вы хотите сохранить независимость экрана, вам нужно будет использовать единицы измерения падения. Документы обсуждают это здесь , но это будет что-то вроде следующего:
//Find screen density scale factor
final float scale = getContext().getResources().getDisplayMetrics().density;
int width = (int)(100 * scale) // Or whatever width you want
int height = (int)(50 * scale) // Or whatever height you want
myButton.setWidth(width);
myButton.setHeight(height);
Примечание : Это пример. Это не предназначено для производственного кода. У вас, вероятно, нет кнопки с именем myButton
. Пожалуйста, адаптируйте это к вашим конкретным потребностям или прочитайте связанную документацию для получения дополнительной помощи и т. Д.