我想要一个只有2列的方形按钮布局,非常像Windows Phone 7的启动画面。
但是,我不想制作自己的自定义按钮,使用库或使用固定值(因为这会导致密度不一致)。我只想使用样式和XML来实现这一点,我希望解决方案与密度无关。
我见过一个应用程序(Apollo)实现了这个目标,但我不知道如何。
有没有办法做到这一点,还是我被迫覆盖onMeasure?
答案 0 :(得分:1)
如果您想根据屏幕尺寸更改按钮的高度和宽度,可以在活动中执行此操作。
WindowManager w = getWindowManager();
Display d = w.getDefaultDisplay();
int sw = d.getWidth(); //Gives the screen width and height
int sh = d.getHeight();
使用它来设置按钮的高度和宽度。使用包含按钮的布局。这里我以线性布局为例。
LinearLayout.LayoutParams params = button.getLayoutParams();
params.width = sw-padding;
params.heigth=sh;
button.setLayoutParams(params);