0

デバイスの画面に合わせて画像を調整する方法を尋ねる人々の質問と回答がたくさん見つかりました。デバイスの解像度を取得できるかどうかを考えました。

    Display display = ((WindowManager)getSystemService(WINDOW_SERVICE)).getDefaultDisplay();
    int screenWidth = display.getWidth();
    int screenHeight = display.getHeight();

画面の1/5と言って、画像を拡大縮小/サイズ変更できないのはなぜですか?そうすれば、画像の1/5のスペースと2/5のテキストと別の1/5のテキストを、すべてのデバイスに適合させることができます。ここで何かが足りませんか?

また、このコードで「非推奨」の警告が表示されるのはなぜですか?

私の英語をお詫びし、助けてくれてありがとう

4

2 に答える 2

1

Androidでは、アプリケーションが画面全体をカバーしない場合があります。タイトルバー/ステータスバーなどを無効にしても、デバイス固有のクロムを使用できます(Android 3.0の画面ボタンなど)。

于 2012-12-30T22:50:08.677 に答える
0

画面の1/5と言って、画像を拡大縮小/サイズ変更できないのはなぜですか?

可能であり、画像に画面サイズの相対的な量を使用させたい場合は、これとLinearLayoutウェイト付きの使用(他の人が指摘しているように)がおそらく唯一のオプションです。メインUIスレッドで画像スケーリングを実行したくない場合があり、可能な限り効率的に実行する必要があることに注意してください。いくつかのグッドプラクティスのガイドラインをご覧ください。

また、画面の幅(特に画面の高さ)は、必ずしも画像やUIに使用できるスペースの量ではないことに注意してください。マージン/パディングが適用されているか、他のコンポーネントが存在する可能性があります。たとえば、ActionBar。

また、このコードで「非推奨」の警告が表示されるのはなぜですか?

Display.getHeight()またはDisplay.getWidth():のドキュメントを参照してください。

このメソッドはAPIレベル13で非推奨になりましたgetSize(Point)。代わりに使用してください。

基本的に、Googleは開発者に、将来のプラットフォームバージョンで前述のメソッドのサポートを停止する可能性があると伝えています。したがって、可能な場合はそれらから離れて移行する必要があります。getSize(...)ほとんどの開発者は、古いプラットフォーム(この場合はAPIレベル13より前)および新しいプラットフォームで非推奨のアプローチを使用する独自のヘルパーメソッドを作成することになります。Build.VERSION_CODESこの目的でを使用できます。

于 2012-12-31T01:29:22.937 に答える