Попробуй это.Вы можете взять телефон с размерами, скажем, 320 x 480, и проверить, какая ширина и высота лучше для одной кнопки на нем. Класс, приведенный ниже, рассчитывает ширину и высоту на основе ширины и высоты устройства.Скажем, вы узнали, что вам нужно 40 в качестве ширины / высоты для вашей кнопки, а затем просто передайте 40 в качестве параметра для функции calcWidth () / calculateHeight () для класса, представленного ниже. Во время выполнения ширина и высота будут установлены динамически.
public class DimensionManager {
private int _screenWidth;
private int _screenHeight;
private int _baseScreenWidth = 320;
private int _baseScreenHeight = 480;
public DimensionManager(Activity act) {
WindowManager w = act.getWindowManager();
Display d = w.getDefaultDisplay();
_screenWidth = d.getWidth();
_screenHeight = d.getHeight();
}
/**
*
* @param baseViewWidth Width considering a base Layout.
* @return Returns corresponding width for the device and orientation.
*/
public int calculateWidth(int baseViewWidth) {
return (baseViewWidth * _screenWidth) / _baseScreenWidth;
}
/**
*
* @param baseViewHeight Height considering a base Layout.
* @return Returns corresponding height for the device and orientation.
*/
public int calculateHeight(int baseViewHeight) {
return (baseViewHeight * _screenHeight) / _baseScreenHeight;
}
}