我想要一个只有 2 列的方形按钮布局,很像 Windows Phone 7 的开始屏幕。
但是,我不想制作自己的自定义按钮、使用库或使用固定值(因为这最终会导致密度不一致)。我只想使用样式和 XML 来实现这一点,并且我希望解决方案与密度无关。
我见过一个应用程序(Apollo)实现了这一点,但我不知道如何。
有什么办法可以做到这一点,还是我被迫覆盖 onMeasure?
我想要一个只有 2 列的方形按钮布局,很像 Windows Phone 7 的开始屏幕。
但是,我不想制作自己的自定义按钮、使用库或使用固定值(因为这最终会导致密度不一致)。我只想使用样式和 XML 来实现这一点,并且我希望解决方案与密度无关。
我见过一个应用程序(Apollo)实现了这一点,但我不知道如何。
有什么办法可以做到这一点,还是我被迫覆盖 onMeasure?
如果您想根据屏幕大小更改按钮的高度和宽度,您可以在活动中执行此操作。
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);