5

私はドローアブルを持っていますが、それは背景として機能する必要があります。画面全体に拡大する必要があります(アスペクト比は無視します)。

ldpi、mdpi、hdpi、xhdpiに適切なサイズを提供しました。(対応する幅と高さの比率で適切だと思いますが、それで十分ですか?)

私はこれを次のようにしようとしました:

imageViewでscaleType:fitXYを使用する

これにより、imageViewの周囲(内側?)に白い余白が残ります。

fitXY画像

私が満足していない回避策は、次のように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>
4

3 に答える 3

2

android:src = "..."を使用する代わりに、android:background="..."属性を使用してください。それがうまくいくことを願っています。

于 2014-07-01T11:30:47.880 に答える
1

私が今行っているハックは、これらの画像のセットを電話用にそのまま使用し、おそらく別の画像のセット(およびレイアウト?)をWVGA(タブレット)用に使用することです。

しかし、これはまだ試していません。すぐにスクリーンショットを付けて投稿します。

編集:それが画像自体と関係していた図。透明なパディングがありました。デザイナーに修正を依頼します。:)

于 2013-01-12T20:12:57.893 に答える
0

Eclipseのアクティビティのグラフィックレイアウトで、アクティビティを右クリックして、[背景の編集]を選択できます。これにより、画面のすべての端を覆う背景として画像を設定できます。これがお役に立てば幸い、ジムを応援します

于 2013-05-01T11:23:01.543 に答える