我正在生成我自己的Button
个视图(非扩展自android Button
类)。
按钮的高度取决于手机屏幕的大小。此应用应显示所有手机屏幕上所有按钮的相同高度,并且所有screen
尺寸都可以。
然后,在将按钮添加到layout
之前,我应该知道按钮的高度尺寸,但我不知道它的大小,直到它在屏幕上绘制。
如何根据屏幕尺寸在我的所有按钮dynamically
上设置相同的高度?
感谢
答案 0 :(得分:0)
试试这个。 您可以考虑使用尺寸为320 x480的手机,并检查其上的单个按钮的最佳宽度和高度。下面给出的类根据设备的宽度和高度计算宽度和高度。假设您知道按钮需要40作为宽度/高度,然后将40作为参数传递给calculateWidth()/ 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;
}
}
答案 1 :(得分:0)
最后我用onLayout和我的方法调用布局调用