【问题标题】:Background gradient背景渐变
【发布时间】:2011-09-15 00:46:14
【问题描述】:

我有一个典型的登录屏幕(表格布局)。我想做的是在这些控件周围绘制一个矩形并在其中放入渐变。我如何在 xml 中做到这一点?

【问题讨论】:

    标签: android


    【解决方案1】:

    /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="#FFFFFF"
            android:endColor="#00000000"
            android:angle="45"/>    
    </shape>
    

    并在您的布局文件中将android:background="@drawable/gradient" 添加到放置控件的容器的属性中

    【讨论】:

      【解决方案2】:

      创建一个带有可绘制渐变背景的布局,并在其中包含您的真实布局。

      例如,在 drawables 目录中创建 mygrandientbg_xml,如下所示:

      <shape android:shape="rectangle" xmlns...">
       <gradient
           android:startColor="#255779"
           android:centerColor="#3e7492"
           android:endColor="#a6c0cd"
           android:angle="90" />
      </shape>
      

      然后像这样创建一个 FrameLayout

      <FrameLayout
        ....
        android:background="@drawable/mygrandientbg"
        android:padding=20dip
       >
       put you layout here and set it to "centered"
      

      您可以在此处找到有关可绘制形状的更多信息: http://developer.android.com/guide/topics/resources/drawable-resource.html#Shape

      【讨论】: