0

下图中是我想要的效果(注意屏幕底部的微妙绿色)。我也想将它用作多个屏幕,所以我希望它成为背景。有什么办法可以做到这一点?

在此处输入图像描述

4

1 回答 1

1

将 png 设置为背景,或者在 xml 中创建一个形状:

创建一个 xml 文件 - 我们称之为“gradient_background.xml”

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
 android:shape="rectangle">
    <gradient 
        android:angle="90"
        android:startColor="#ff0000ff" 
        android:endColor="#00ffffff"/>
    <corners android:radius="10dp" />
</shape>

将十六进制颜色值更改为您想要的值。

并将其作为背景添加到您的 ViewGroup,例如 LinearLayout:

android:background="@drawable/gradient_background"

编辑:为了实现您在评论中提到的内容,渐变高度应在位于底部时保持固定,但白色区域可以垂直拉伸,我建议您使用可以使用绘制九补丁工具创建的补丁. 从 SDK 的工具文件夹中启动该工具 - 单击包含九个补丁的 bat 文件(并等待它启动,然后导入您的 png)。然后沿着图像的边缘绘制黑线以定义可以拉伸的部分,将文件命名为 something.9.png 并将其作为 ViewGroup 中的背景引用。有关详细信息,请参阅链接到的文档。

于 2012-05-07T08:13:54.743 回答