-1

我当前的 android 项目要求按钮的宽度应根据设备上可用的分辨率动态设置

我想连续排列 9 个按钮,但大小取决于可用的分辨率

对于我们正在使用以下代码的当前场景

    DisplayMetrics displaymetrics = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
    //int sheight = displaymetrics.heightPixels;
    int swidth = displaymetrics.widthPixels;
    int px=swidth/11;
    bW.setWidth(px);
    bE.setWidth(px);
    bR.setWidth(px);
    bT.setWidth(px);
    bY.setWidth(px);
    bU.setWidth(px);
    bI.setWidth(px);
    bO.setWidth(px);
    bP.setWidth(px);

不知何故,按钮的宽度不会以任何方式改变它保持不变

4

4 回答 4

0

如果我认为您的按钮是您使用 设置的图像Selector file,那么您需要将这些文件保存在drawable-hdpidrawable-mdpi和中drawable-ldpi,并且图像将根据可用的分辨率自行调整。

于 2012-09-04T17:56:04.813 回答
0

我认为你应该使用android:layout_weight属性。它会根据可用宽度消耗空间。

将所有按钮设置为android:layout_weight="1"

试试这个网址

Android中的线性布局和权重

于 2012-09-04T19:20:20.547 回答
0

使用 Ninepatch 图像的按钮和其他对象不会比 Ninepatch 本身小。

确保您使用适合您所需尺寸的按钮的 Ninepatch 图像。

于 2012-09-04T19:31:21.027 回答
0

我想出了这个解决方案

    ViewGroup.LayoutParams params = button.getLayoutParams();
    params.width=px;
    button.setLayoutParams(params);
于 2012-09-05T05:49:39.097 回答