我正在设计一个应用程序,我在表格布局中显示了几个按钮。我有两个设备来测试应用程序。一个是三星Galaxy Tab 1,另一个是三星galaxy Ace。我在android清单文件中使用了以下内容来允许调整大小。
<supports-screens
android:resizeable="true"
android:smallScreens="true"
android:normalScreens="true"
android:xlargeScreens="true"
android:anyDensity="true" />
所有按钮也有
android:layout_weight="1".
允许他们占用显示屏上可用的额外空白。这在标签上工作正常,但在手机上的一些按钮包裹。即“按钮”一词显示在2行上。我希望按钮能够自我调整大小,以便在任何显示器上都没有按钮高度包装。有人能告诉我如何实现这一目标吗?哦,该应用程序是为Android 2.3.3开发的。
答案 0 :(得分:2)
有两种方法可以实现它:
(1)将合适尺寸的图像放在xhdpi,hdpi,mdpi和ldpi文件夹中。设备将根据其分辨率自动从这些文件夹中获取图像。
(2)您还可以动态检测设备的分辨率,然后相应地设置布局,如下所示:
DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
switch(displayMetrics.densityDpi){
case DisplayMetrics.DENSITY_LOW:
// layout for small devices.
break;
case DisplayMetrics.DENSITY_MEDIUM:
// layout for medium devices.
break;
case DisplayMetrics.DENSITY_HIGH:
// layout for bigger devices.
break;
}