Android Studio 2.0 Preview 3b
こんにちは、
アプリの背景に使用する次のレイアウトを作成しました。 layer-list
を使用していますが、2つの場所にエンドウ豆のボウルを表示したいと思います。プレビューではすべてが正常に見えますが、genymotionまたはいくつかの安価な中国のデバイスで実行すると、画像が画面全体に広がります。ただし、Android AVDでは、すべてが正常に見え、Nexus 5(実際のデバイス)ではすべてが正常に機能します。
これが私が欲しいものであり、これがAVDとNexus 5でどのように表示されるかです。ご覧の通り、問題はありません。
<layer-list xmlns:Android="http://schemas.Android.com/apk/res/Android">
<item>
<shape>
<gradient
Android:centerX="0.5"
Android:centerY="0.3"
Android:endColor="#08e25b"
Android:gradientRadius="300dp"
Android:startColor="#b7e9c9"
Android:type="radial" />
</shape>
</item>
<item
Android:width="48dp"
Android:height="48dp"
Android:left="350dp"
Android:top="400dp">
<bitmap Android:src="@drawable/peas" />
</item>
<item
Android:width="68dp"
Android:height="68dp"
Android:drawable="@drawable/peas"
Android:left="-20dp"
Android:top="480dp" />
</layer-list>
peas.png
ファイルをdrawable-nodpi
に配置し、layer-list
に幅と高さを追加しました
そして、genymotionといくつかの安価なスマートデバイスで実行すると、次のようになります:
Just quick summary. Nexus 5 real device and AVD devices works ok Genymotion and cheap smart devices doesn't display correctly
私はただ信じるべきことで混乱しています。私もビットマップを使用して、違いが生じるかどうかを確認しようとしました。
提案をありがとう。
次のようにレイヤーリストを更新します
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:Android="http://schemas.Android.com/apk/res/Android" >
<item>
<shape>
<gradient
Android:centerX="0.5"
Android:centerY="0.1"
Android:endColor="#08e25b"
Android:gradientRadius="300dp"
Android:startColor="#b7e9c9"
Android:type="radial" />
</shape>
</item>
<item
Android:width="48dp"
Android:height="48dp"
Android:bottom="68dp"
Android:right="-20dp">
<bitmap
Android:gravity="bottom|right"
Android:src="@drawable/peas" />
</item>
<item
Android:height="68dp"
Android:left="-20dp"
Android:bottom="-20dp"
Android:width="68dp">
<bitmap
Android:gravity="bottom|left"
Android:src="@drawable/peas" />
</item>
すべての密度フォルダー(xxhdpi、xhdpi、hdpi)に画像を配置します。
システムは、画面解像度に基づいて画像リソースを選択します。