【问题标题】:Need a gradient on the bottom of the screen屏幕底部需要渐变
【发布时间】:2012-05-07 07:46:40
【问题描述】:

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

【问题讨论】:

  • 不能将图片包含为 png 格式吗?
  • 不,在其他设备上看起来真的很糟糕,因为拉伸。

标签: android background gradient


【解决方案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 例如线性布局:

android:background="@drawable/gradient_background"

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

【讨论】:

  • 好吧,我不能使用 *.png,它会在其他设备上拉伸并且看起来很丑。第二种解决方案是我想要的方式,但我需要渐变从屏幕底部开始。例如,在 320*480 像素的设备上,前 400 像素应该是白色的,然后渐变应该从 400 开始直到 480。
猜你喜欢
  • 1970-01-01
  • 2021-07-02
  • 1970-01-01
  • 2012-12-10
  • 1970-01-01
  • 2014-03-15
  • 1970-01-01
  • 1970-01-01
  • 2017-10-22
相关资源
最近更新 更多