5

W はdrawable、左側に背景とグラデーションがあり、幅が10dp広い が必要です。

私が達成したいことのイメージ:

ここに画像の説明を入力

  1. 左の赤のグラデーション
  2. 残りの背景

どうすればそれを達成できますか?

私はlayer-list2つの形で試しましたが、うまくいきませんでした。

アイテムの背景:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:drawable="@drawable/background" />
    <item android:drawable="@drawable/gradient" />
</layer-list>

背景ドローアブル:

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
    <solid android:color="@color/black" />
</shape>

シェイプ ドローアブル:

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
android:shape="rectangle">
    <gradient android:startColor="#FFFF0000" android:endColor="#80FF00FF"
        android:angle="90"/>
       <size android:width="10dp" />
</shape>
4

1 に答える 1

8

次のように、drawable フォルダーにsidecolor (または任意の名前) XMLを作成します。

  <?xml version="1.0" encoding="utf-8"?>
  <layer-list xmlns:android="http://schemas.android.com/apk/res/android">  
    <item android:drawable="@drawable/background" android:bottom="5dp"
        android:top="5dp"  android:left="5dp" android:right="5dp"/>  
    <item android:drawable="@drawable/red" android:bottom="5dp"  android:top="5dp"
        android:left="5dp" android:right="280dp" /> 
  </layer-list> 

次に、バックグラウンド XML を作成します。

 <?xml version="1.0" encoding="utf-8"?>
   <shape xmlns:android="http://schemas.android.com/apk/res/android"
               android:shape="rectangle">
        <solid android:color="@android:color/black" />    
   </shape>

次に、XML を形状として赤くします。

  <?xml version="1.0" encoding="utf-8"?>
   <shape xmlns:android="http://schemas.android.com/apk/res/android"  
         android:shape="rectangle">       
      <solid android:color="#B22222" /> 
  </shape> 

出力画像:

ここに画像の説明を入力

また、赤の XML をグラデーションとして作成することもできます。

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

出力画像:

ここに画像の説明を入力

アップデート:

また、この方法で左に揃えることも、必要に応じてサイズを制御することもできます。

最初に 1 つの XML を作成し、それを side color.xml と呼び、次の方法でビューを参照します。

android:background="@drawable/sidecolor"

サイドカラー.xml:

  <?xml version="1.0" encoding="utf-8" ?>    
     <layer-list xmlns:android="http://schemas.android.com/apk/res/android">

   <item>
        <shape android:shape="rectangle">
             <solid android:color="#FF0000" />        
       </shape>    
  </item>

  <item android:left="10dp">
       <shape android:shape="rectangle">
            <solid android:color="#000000" />
       </shape>
  </item>
     </layer-list>

出力イメージ:

ここに画像の説明を入力

あなたを助けてください。

于 2012-11-27T22:23:49.803 に答える