2013-01-16 68 views
22

在談到這些問題:如何將漸變效果添加到ListView的TextView的背景顏色?

Adding gradient effect to TextView in a ListView generates NPE

How to change color and font on ListView

我想知道如何去與漸變效果設置TextView的背景中ListView

在上述其中一個問題中,我最終在TextView的文本中添加了漸變效果。在瀏覽第二個問題後,我似乎只能添加固定的背景顏色。

我該如何去添加漸變到背景?我應該做一個CustomListAdapter

+0

的http://計算器。com/a/1683195/1339473這是鏈接可能對你有幫助 – QuokMoon

+0

[Gradient Color In Android](http://www.singhajit.com/gradient-color-in-android/) –

回答

59

您只需創建一個可繪製資源(請參見下面的示例),並將其添加到您爲ListItem創建的佈局。

提拉(在你的資源\文件夾繪製 - 命名爲任何 - listgrad.xml爲前)可能看起來像:

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle"> 
    <gradient 
     android:startColor="@color/gradient_start" 
     android:endColor="@color/gradient_end" 
     android:angle="-270" /> 
</shape> 

的你將它添加到佈局列表項(佈局.xml文件定義爲這個)這樣的代碼片段:

<TextView 
     android:id="@+id/ranking_order" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:background="@drawable/list_grad" 
     /> 
... 
+0

太棒了!謝謝。 :-) –

+0

謝謝,但我只想爲textview不背景漸變。我能怎麼做? – saigopi

1

從這裏簡稱:How do I create a ListView with rounded corners in Android? (我發現它非常有用。)

將以下內容添加到文件(如gradient.xml)中,然後將其放在(res/drawable/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="#SomeGradientBeginColor" 
     android:endColor="#SomeGradientEndColor" 
     android:angle="270"/> 

    <corners 
     android:bottomRightRadius="7dp" 
     android:bottomLeftRadius="7dp" 
     android:topLeftRadius="7dp" 
     android:topRightRadius="7dp"/> 
</shape> 

一旦你完成了創建該文件的完成,只需設置背景中的下列方式之一:

通過代碼:listView.setBackgroundResource(R.drawable.customshape);

通過XML,只需添加下列屬性的容器(例如:LinearLayout中或任何字段):

android:background="@drawable/customshape" 
4

一旦你創建漸變,你可以將它應用於幾乎任何東西讓它成爲textV瀏覽,佈局或按鈕。

要了解如何創建和使用漸變,請參閱this link

要創建你需要把它添加到目錄下面

enter image description here

守則梯度漸變會是這樣的 -

<?xml version="1.0" encoding="UTF-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item> 
     <shape> 
      <gradient 
       android:startColor="#ff2d9a59" 
       android:centerColor="#ff42959a" 
       android:endColor="#ff23729a" 
       android:angle="135"/> 
     </shape> 
    </item> 
</selector> 
相關問題