0

アプリを設計しており、テーブル レイアウトにいくつかのボタンが表示されています。アプリをテストするデバイスが 2 つあります。1 つは Samsung Galaxy Tab 1 で、もう 1 つは Samsung 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 行で表示されます。どのディスプレイでもボタンが高さ方向に折り返されないように、ボタンのサイズを変更したい。誰かがこれを達成する方法を教えてもらえますか? ああ、アプリはアンドロイド 2.3.3 用に開発されました。

4

1 に答える 1

2

実装するには 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; 
    } 
于 2012-06-22T06:38:23.380 に答える