2012-01-04 17 views
1

線形レイアウトの場合の勾配をxmlで設定する方法。私は、レイアウト内のビューのための角の丸い端を持つ枠線を描きたい。誰かが試してみたら、いくつかの例を投稿してください。線形レイアウトのxmlグラデーション

答えて

7

あなたのxml次のように定義し、解像度ディレクトリの下に、あなたの描画可能フォルダに配置します:

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <stroke android:width="6dp" android:color="#FFCCCCCC"/> 
    <padding android:left="5dp" android:top="5dp" android:right="5dp" 
     android:bottom="5dp" /> 
    <corners android:radius="8dp" /> 
    <gradient 
     android:angle="270" 
     android:startColor="#FFCCCCCC" 
     android:centerColor="#FFFFFFFF" 
     android:endColor="#FFCCCCCC" 
     android:type="linear" /> 
</shape> 

次に、あなたのビューのためにあなたのようにグラデーションを設定することができます。

yourView.setBackgroundResource(R.drawable.nameofxml); 
0

どのようなビューを作成しようとしていますか? ListViewのようなものについては、以下の実装を使用し、変更を加えて目的の効果を得ることをお勧めします。

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

<gradient 
    android:centerColor="#E6E6E6" 
    android:endColor="#CCCCCC" 
    android:startColor="#FFFFFF" 
    android:angle="270"/> 
<!-- 
    <gradient 
    android:startColor="#FF7500" 
    android:centerColor="#FFCC00" 
    android:endColor="#FF7500" 
    android:angle="270"/> 
--> 

<stroke 
    android:width="1dp" 
    android:color="#A0000000" /> 

<padding 
    android:bottom="8dp" 
    android:left="5dp" 
    android:right="5dp" 
    android:top="8dp" /> 

<corners android:radius="5dp" /> 

</shape> 
1

コードは

です

その後、活動のレイアウトに背景リソースを適用

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
<solid android:color="#FFFFFF"/> 
<corners android:radius="6dp" /> 
<padding android:left="15dp" android:top="15dp" 
    android:right="15dp" android:bottom="15dp" /> 
<stroke android:color="#10527c" android:width="2dp" /> 
<gradient 
android:angle="270" 
android:startColor="#FFCCCCCC" 
android:centerColor="#FFFFFFFF" 
android:endColor="#FFCCCCCC" 
android:type="linear" /> 

</shape> 

描画可能/解像度で1つのroundedborder.xmlファイルを作成します。

tempLayout.setBackgroundResource(R.drawable.roundedborder); 
関連する問題