5

グラデーションの背景で画像を描画したいと思います。私は以下のような描画可能ビットマップリソースを作成しましたボトムアライメントを使用してタイル状のビットマップを描画する

<bitmap xmlns:android="http://schemas.android.com/apk/res/android" 
     android:src="@drawable/bg" 
     android:tileMode="repeat" 
     android:gravity="bottom" 
     /> 

タイルモードが定義されている場合、重力は無視されます。 BitmapDrawableから継承した独自のクラスを作成しようとしましたが、それで成功することはできませんでした。 tileModeと重力の両方のプロパティを適用してください。

答えて

0

私は質問をはっきり理解できませんでした。ここでの目標は何ですか?

tileModeでグラディエントイメージ(.png .jpgなど)を使用していますか?

透明アイコンを使用して背景勾配にしていますか?

また、tileModeを使用しているときに重力が必要なのはなぜですか? tileModeは、ビットマップの全領域を同じ画像でタイル化することを意味します。すべての画像が埋められるので、画像全体に重力を与えるポイントはありません。

目標は、あなたのレイアウトにこれを追加し、画面の一部に、この描画可能ビットマップを使用する場合:

<ImageView 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:src="@drawable/mydrawablebitmap" 
android:id="@+id/imageview1" /> 

あなたのlayout.xmlにそれを入れて、あなた自身の幅と高さを設定することができますし、あなたが好きなところに揃えます。

目標は、画像を使用して、ここでその背景を作っている場合は、あなたがそれで行く方法です:

あなたの描画可能なフォルダにgradient.xmlを作成します。

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle"> 
    <gradient 
    android:startColor="#E0E0E0" 
    android:endColor="#FFFFFF" 
    android:angle="-90"/> 
</shape> 

を次に、あなたにこのImageViewのを追加レイアウト:

<ImageView 
    android:id="@+id/myimagewithgradientbackground" 
    android:layout_width="match_parent" 
    android:layout_height="160dp" 
    android:background="@drawable/gradient" 
    android:src="@drawable/foregroundimage" /> 

質問についてさらに詳しくお伝えいただければ、それに応じて回答を編集します。

関連する問題