2016-10-20 8 views
0

私は1920 x 1080解像度のXiaomi Mi Max(6.4 ")と1280 x 720解像度のSony Xperia S(4.3")を持っています。どんなに私が何をしたかなぜ2つの異なる画面サイズと解像度、共通のレイアウトを使用しますか?

enter image description here

、両方の電話機のたびに同じレイアウトを使用します。

私はこのように私のレイアウトを設定していません。たとえば、両方ともlayout-normalを使用するか、layout-sw320を使用します(フォルダを追加する場合)。

これは、この2台の電話機のレイアウトが異なる必要があるため、問題を引き起こします。この状況では、一方の電話機がUIを正しく表示し、他方の電話機は圧縮されたUIを表示します。

私はそれぞれの電話機が正しいレイアウトを選びたいと思いますが、そうではありません。

どうしたのですか?

+0

あなたのレイアウトにはいくつかの写真/図面を使用していますか? – deejay

+0

はい、いくつかのImageButtonとDrawableを持つGridViewを使用します。 – SMahdiS

+0

下記の私の答えを参照してください。 – deejay

答えて

0

は(システムに対して)同じ特性を持つためです。 dpiまたはディメンション

+0

それからどんな解決策ですか? – SMahdiS

+0

多くのソリューションがあります。いくつかのよりエレガントな。私は画面の解像度を取得し、R.layout.layout_xiamiまたはR.layout.sonyと言うように2つの異なるレイアウトをロードします。私はそれが吸うことを知っているが、方法です。あなたが実行している電話機を特定できるような特性を見つけることができるかどうかをチェックすることができます(たとえば、最悪の場合は、manufacterなど) –

0

私のプロジェクトでこの同じ問題がありました。各フォルダの各layout.xmlを開き、異なるデバイスの寸法を書き直さなければなりません。 AS内のライブプレビュー/プレビューウィンドウを使用してデバイス(モバイル、タブレット7 '& 10'など、TVまたはウェアラブル)を変更し、xmlでビューを設定できます。レイアウトでDrawableを使用している場合は、Batch Drawable Importプラグインを使用する必要があります。このプラグインは1つのイメージを取り、すべてのレイアウトで異なるサイズを作成します。

+0

すべてのレイアウト/デバイスに対してディメンションを正しく設定しても、あなたのドロウアブルが適切にサイズ変更されていないと、歪んだ画像が得られます。 Drawable Import Batchは、ドロウアブルの問題を解決する最適なソリューションです。 – deejay

0

システムのために、彼らは同じ特徴を持っているからです。 https://developer.android.com/guide/practices/screens_support.html

私は、複数の画面解像度/ディメンションに開発するとき、私はあまりにも、このように文字列を設定します:

私は、文字列-hdpiでこれを置く:より多くの情報のため、この時 見

<string name="screen_size">HDPI</string> 

Iその後MDPI、LDPI、xhdpi ... ために同じことを、私は

<TextView 
    android:text="@string/screen_size"/> 
とデバッグのためだけに私のレイアウトで小さなのTextViewを置きます

そのように、私はどこに問題があるのが簡単に分かります。

+0

私は同じことをしました。両方のテキストビューで同じ結果が得られました(たとえば、両方ともxhdpiが表示されます)。 – SMahdiS

+0

だから、この2つの画面でレイアウトを「互換」にするために最善を尽くす必要があると思います。 IMO、mdpi、hdpi、...は複数の画面をサポートするのに最適です。たぶん、あなたのレイアウトを少し違うものにしようと考えているかもしれません。または、同じことをmdpi、hdpi、などと試してみてください。画面の解像度で:dimensフォルダ - > new - >を右クリックして、必要なプロパティを選択してください。たぶんあなたのレイアウトを投稿する、私たちはあなたを助けるかもしれません。 – Cocorico

関連する問題