-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-mdpidrawable-ldpi

于 2012-09-04T17:56:04.813 に答える
0

android:layout_weightプロパティを使用する必要があると思います。使用可能な幅に応じてスペースを消費します。

android:layout_weight="1"としてすべてのボタンに設定します

このURLを試してください

Android のリニア レイアウトとウェイト

于 2012-09-04T19:20:20.547 に答える
0

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 に答える