2017-02-03 12 views
0

EclipseからAndroidスタジオに変更しました。私はエミュレータの密度に関する問題に直面しています。 たとえば、EclipseではSamsung S4は密度xxhdpiでしたが、Android Studioではxhdpiです。 サムスンS4:4,99' - 1080 X 1920Androidスタジオの密度

これは私のコードです:密度の

Float density = getResources().getDisplayMetrics().density; 

if(density >= 1.0 && density < 1.5){ //mdpi 
... 
} else if(density >= 1.5 && density < 2.0){ //hdpi 
... 
} else if(density >= 2.0 && density < 3.0){ //xhdpi 
... 
} else if(density >= 3.0 && density < 4.0){ //xxhdpi 
... 
} else if(density >= 4.0){ //xxxhdpi 
... 
} 

値は2.625です。 xhdpiの場合は入力されますが、xxhdpiに入力する必要があります。 問題は何ですか?これを行うより良い方法はありますか?

おかげ

+0

コードのどこかに 'if'のチェーンがありますか?そうであれば、あなたは間違った、あるいは最適ではないことをしています。 – Henry

+0

はい、あります。どうして?たとえば、私はdp、wrap_contentなどを使ってすべての画面で作業しようとしますが、手動でいくつかのサイズや位置を調整する必要があります。 – user3240604

+0

これは通常、値をリソースファイルに入れることによって行われます。画面のサイズや密度に応じて異なるバージョンを使用できます。コード自体はクリーンで、リソース値を取得するだけです。 – Henry

答えて

0

はあなたのmanifest.xmlに

<supports-screens android:anyDensity="true" 
    android:largeScreens="true" 
    android:normalScreens="true" 
    android:resizeable="true" 
    android:smallScreens="true" 
    android:xlargeScreens="true"/> 

をこのコードを入れて、それはあなたを助けることを願っています。