2012-03-02 18 views
0

Samsung S I9000のアプリに問題があります。私のアプリケーション上のボタンは、はるかに大きい必要があります。さらに、システムは、値のソースとしてres/values-small /を選択しています。まるで、たとえそれが800x480(私はランドスケープモードで作業しています)でも、デバイスが非常に小さな画面を持っているかのように動作します。実際、res/values-small/styles.xmlの値を、すでに使用していたよりも小さいフォントサイズに変更することで、状況を改善できます。次のようにAndroidサムスンS I9000の画面サイズと密度の問題

表示指標は以下のとおりです。デバイスはそんなに私のグラフィックをスケールアップし、機能している理由は、私は非常に小型のディスプレイを持っているかのように

density = 2.0 
scaledDensity = 2.0 
densityDpi = 320 
widthPixels = 800 
heightPixels = 480 
xdpi = 320.0 
ydpi = 320.0 

は誰も説明できますか?もっと重要なことは、私はそれをどのように修正するのですか?

最近のリリースでminSdkとtargetSdkを設定するためにマニフェストを調整しようとしましたが、それは効果がありませんでした。値を小さくすると、アプリケーションがデフォルト値を使用するようになりました/代わりに、状況が悪化しました。

+0

値が小さいフォルダはありません。 largeとvalues-xlargeの値も使用できます。あなたのアンドロイドOSバージョンは何ですか? –

+0

小さな値があります。それを含むソースコードについては、http://www.efalk.org/SamsungS.tar.gzを参照してください。小さな画面のデバイスやSamsung Sのように見せてください。私はそれが1.6以来サポートされていると信じています。 http://developer.android.com/guide/practices/screens_support.htmlを参照してください –

+0

結論:サムスンSのバグであると確信しています。実際には233のときにピクセル密度が320と報告されています。これはすべてのグラフィックス実際に1.5xになったら2倍にスケールアップする必要があります。また、画面サイズは1.5 "x 2.5"と計算されます。これは実際には小さな画面になります。サムスンSのアイコンやメニューなどは本当に巨大だと気づいたことはありませんか?彼らはエミュレータ上で巨大です。 –

答えて

2

常に

以下のようにフォルダを対応であなたのイメージは、あなたが使用する必要があなたはMDPIのために36x36の画像を使用していると仮定し「DP」

場所として、フォントや休息のために「SP」を使用

drawable-mdpi - 36 x 36 
drawable-hdpi - 48 x 48 
drawable-xhdpi 72 x 72 

3:4:6:8

Androidでリソースを事前にスケールしたくない状況がいくつかあります。事前スケーリングを避ける最も簡単な方法は、nodpi構成修飾子を使用してリソースディレクトリにリソースを配置することです。 14spは、それが自動的に今

14×320÷160 =28 

あなたのフォントとして320 DPIのために変更されます手段として

あなたはフォントサイズを使用している例えば

res/drawable-nodpi/icon.png 

:たとえば

サイズはxddpi解像度の電話の場合は28dpです。

+0

ありがとうございます。私はフォントのためにspを使用しています。私はそれが密度かscaledDensityのどちらかによってスケールされると思いますか?これは、システムがres/values-smallからリソースを取っている理由を説明するものではありません。それとも、デバイスの画素密度が高いにもかかわらず、非常に小さい画面があるからですか? –

+0

ドロアブルをドロウアブルに移動する - nodpiが機能しました。ありがとう。 –

関連する問題