2017-11-26 4 views
0

私のスプラッシュ画面では、xmlとして定義されたドロウアブルを持つスタイルを使用します。 私は画像を含めるためにビットマップを使用しています。xmlでのビットマップのサイズ変更

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item> 
    <color android:color="@color/white"/> 
    </item> 
    <item 
    <bitmap 
     android:src="@drawable/splash_logo" 
     android:gravity="center"/> 
    </item> 

</layer-list> 

画像のサイズは1024x390で、スケールを縮小するオプションはありません。 xmlで中央に配置し、画面に収まるようにするにはどうすればよいですか?

親アイテムの幅と高さを設定したり、ビットマップが親を埋めたりパディングを設定したりするなど、多くのことを試しましたが、私のアプローチは良くありませんでした。私はまた、このトピックへのいくつかの他のstackoverflow答えを読んだが、解決策のどれも私のために働いた。

イメージを画面に合わせて中央に配置するようにイメージを拡大しようとする可能性がある他の解決策はありますか?

+0

プログラムでレイアウトパラメータを設定しようとしましたか?またはそれに合うようにアンドロイドピカソを試しましたか? – koksalb

+0

実際のビューで設定したxmlを表示しますか? – Xenolion

+0

'drawable-XXXX'サイズごとにdrawableを作成します。 – SushiHangover

答えて

1

このアプローチでは、より高いAPIレベル(23かもしれません)が必要ですが、それはあなたが望むものとまったく同じです。

<item 
    android:height="200dp" 
    android:width="200dp" 
    android:drawable="@drawable/splash_logo" 
    android:gravity="center"> 
</item> 

必要に応じて幅と高さを編集します。

+0

これはどのようにアイテムのサイズを変更しますか?スプラッシュスクリーン描画可能なものはXMLからレンダリングされていますが、ビューがユーザーに表示される前に画面幅に基づいてこれらの変数を動的に変更することはできません。 – Digitalsa1nt

+0

apiで23以上のことができます。 –

関連する問題