同じ画像ですべての画面サイズの背景画像を設定するプロジェクトに取り組んでいます。どうすれば可能ですか?Android studio?スタジオですべての画面サイズの背景画像を設定する方法?フォルダをドローブルに配置するにはどうすればよいですか?よろしくお願いします
以下のすべてのサイズに画像を変換し、特定のフォルダに貼り付けます。
xxxhdpi: 1280x1920 px
xxhdpi: 960x1600 px
xhdpi: 640x960 px
hdpi: 480x800 px
mdpi: 320x480 px
ldpi: 240x320 px
アプリをすべてのデバイスで実行するのに最適なサイズです。
シンプルなドローアブルフォルダを置き、そこに画像を貼り付けます。次に、styles.xmlを開き、このコード行を貼り付けます。
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorOrange</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="Android:windowBackground">@drawable/yourImage</item>
</style>
これを使用することにより、すべてのレイアウトに背景画像を配置する必要はありません。
ビューの背景に画像を追加するだけでなく、ImageViewを使用します。 imageviewを使用しても、画像は引き伸ばされませんが、画像の適合しない部分が切り取られます。このすべての作業はscaleType = "centerCrop"タグによって行われます。
サンプルコードは次のとおりです。
<FrameLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:app="http://schemas.Android.com/apk/res-auto"
xmlns:tools="http://schemas.Android.com/tools"
Android:id="@+id/activity_class"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
tools:context="lpt.com.attendance.ActivityClass.Activity_Class">
<ImageView
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:adjustViewBounds="true"
Android:scaleType="centerCrop"
Android:src="@drawable/background" />
<RelativeLayout
Android:layout_width="match_parent"
Android:layout_height="match_parent">
//Now this is your main layout to put everything.
</RelativeLayout>
</FrameLayout>
私のプロジェクトではこれと同じ機能が必要なので、この場合、2つのオプションがあります
1)それぞれのresフォルダーhdpiからxxxhdpiに画像を配置してロードしますが、この場合、単一アイテムの7〜8個の画像をすべて維持する必要があります。
別の解決策は
2)すべての画面でテスト済みのレスポンシブHTMLを互換性のあるものにし、アセットのrawフォルダーに配置し、画像ビューのクリックイベントが必要な場合は画像ビューと同じURLをWebビューにロードします。Webビュータッチイベントを使用できます。
どちらのソリューションも、以前は方法1を使用して正常に機能していましたが、メモリと処理の問題を減らすため、2番目のソリューションに移ります。それでも混乱がある場合は、お問い合わせください...