私はドローアブルを持っていますが、それは背景として機能する必要があります。画面全体に拡大する必要があります(アスペクト比は無視します)。
ldpi、mdpi、hdpi、xhdpiに適切なサイズを提供しました。(対応する幅と高さの比率で適切だと思いますが、それで十分ですか?)
私はこれを次のようにしようとしました:
imageViewでscaleType:fitXYを使用する
これにより、imageViewの周囲(内側?)に白い余白が残ります。
私が満足していない回避策は、次のようにscaleTypeにcenterを使用することです。
タブレットの画面にまだ問題が残っているので、私は満足していません。
ノート:
- お気づきかもしれませんが、Adjust View Boundariesをtrueに設定するなど、SOの他の場所で提案された修正を試しました。彼らはここで助けにはならなかった。:(
- XML自体でこれを行う場合のように、プログラム以外の回答/修正が必要です。背景画像を設定するコードを書きたくはありません。人生はそれよりもはるかに単純でなければなりません。(:P)
アップデート1:
これがXMLレイアウトです
<merge xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" -->
<!-- xmlns:tools="http://schemas.android.com/tools" -->
<!-- android:id="@+id/FrameLayout1" -->
<!-- android:layout_width="fill_parent" -->
<!-- android:layout_height="fill_parent" -->
<!-- tools:context=".SplashScreen" > -->
<!--
This FrameLayout insets its children based on system windows using
android:fitsSystemWindows
-->
<View
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:onClick="onClickTapToContinue"
>
</View>
<ImageView
android:id="@+id/bg_gradient"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="fill"
android:adjustViewBounds="true"
android:contentDescription="@string/this_is_the_background_image"
android:scaleType="center"
android:src="@drawable/bg_gradient" />
<ImageView
android:id="@+id/bg_artwork"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:adjustViewBounds="true"
android:contentDescription="@string/artwork_man"
android:src="@drawable/bg_artwork" />
<!-- </FrameLayout> -->
<ImageView
android:id="@+id/branding"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center|top"
android:adjustViewBounds="true"
android:contentDescription="@string/branding_text"
android:maxHeight="95dp"
android:paddingTop="5dp"
android:src="@drawable/title_wlcm" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|center"
android:paddingBottom="5dp"
android:text="@string/tap_continue"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="@android:color/white" />
</merge>