6

3 つの個別の画像に分割された背景画像があります。

backgroundTop.png
backgroundMiddle.png
backgroundBottom.png

上部の画像がアプリケーションの上部に表示され、下部の画像が下部に表示され、中央の画像がその間にタイル表示される Android アプリに背景を実装するにはどうすればよいですか? もちろん、これは画面に読み込まれるコンテンツの量に依存します - Web ページと同様です。

つまり、中央の画像が並べて表示される合計回数は、画面の内容によって異なります。

ここで、単一の画像からタイリング背景を実装するソリューションを見てきました: How to make android app's background image repeat

これは、単一の画像を使用している場合は問題なく機能しますが、複数の画像では機能しません。

以下の例へのリンクにより、私が何を意味するかがわかります。

http://rockfreaks.net/images/reviewPageTop.png

http://rockfreaks.net/images/reviewPageMiddle.png

http://rockfreaks.net/images/reviewPageBottom.png

4

3 に答える 3

10

レイヤー リスト ドローアブル(レイヤーのインセットを設定できます) と、中間レイヤーとして配置され、適切なインセットで配置されたタイル状のビットマップ ドローアブルを組み合わせてみてください。

このようなもの:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:drawable="@drawable/page_top" />
  <item 
     android:insetTop="@dimen/page_top_height"
     android:insetBottom="@dimen/page_bottom_height"
     >
    <bitmap
        android:src="@drawable/page_middle_tile"
        android:tileMode="repeat"
        />
  </item>
  <item android:drawable="@drawable/page_bottom" />
</layer-list>

しかし、それはすべてあなたのレイアウトに依存します。

于 2012-04-21T15:26:29.373 に答える
1

背景を真ん中の画像に設定して並べていきます。(あなたが示す例のように)

各ページの上部に挿入するヘッダー ビューを作成します。

各ページの下部に挿入するフッター ビューを作成します。

そして、コンテンツを真ん中に置きます。

includesここではフラット ファイルにしましたが、アプリケーションが必要とするものにリファクタリングすることは容易に想像できます。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#00FF00" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="100dip"
        android:layout_alignParentTop="true"
        android:background="#FF0000" />

    <!-- Your content -->

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="100dip"
        android:layout_alignParentBottom="true"
        android:background="#0000FF" />

</RelativeLayout>
  • 赤 = ヘッダー
  • 緑 = タイル (テーマから継承されます)
  • 青 = フッター

ここに画像の説明を入力

于 2012-04-21T15:26:47.663 に答える
0

このようなことを試してください:

android:gravity="TOP"とを使用した 2 つのレイアウトの上下"BOTTOM"。これらの 2 つのレイアウトは、android:background="@drawable/xxx.png"

センターでは、ソリューションを使用するか、ScrollView を使用してください。

于 2012-04-21T15:26:36.020 に答える