我有这个观点:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="3dp" >
<ImageView
android:id="@+id/imageView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignBottom="@+id/description" />
<TextView
android:id="@+id/description"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#80000000"
android:gravity="right"
android:padding="10dp"
android:textColor="#fff"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
/>
</RelativeLayout>
我需要让透明的文字视图像阴影一样,这意味着,我想让它从底部变暗,从顶部变浅,从底部变暗到顶部, 但我的代码是整个文本视图的相同颜色 但我需要让它像阴影,从底部到较浅到顶部较暗,我的颜色是Monotone#80000000我想让它突出,像阴影
我该怎么做?
答案 0 :(得分:1)
XML:
您只需创建一个可绘制资源(请参阅下面的示例),并将其添加到您为ListItem创建的布局中。
drawable(在res \ drawable文件夹中 - 无论如何命名 - listgrad.xml for ex)可能如下所示:
<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>
您可以将它添加到列表项的布局(您为此定义的layout.xml文件),例如此代码段:
<TextView
android:id="@+id/ranking_order"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/list_grad"
/>
...
JAVA:
TextView secondTextView = new TextView(this);
Shader textShader=new LinearGradient(0, 0, 0, 20,
new int[]{Color.GREEN,Color.BLUE},
new float[]{0, 1}, TileMode.CLAMP);
secondTextView.getPaint().setShader(textShader);