我的渐变不会出现在我的Android项目中

时间:2010-11-02 06:13:40

标签: android dialog gradient

我是Android平台的新手,我正在开发一个主要活动的应用程序 正在使用对话框主题。

我的ui设置几乎就像我想要的那样,但渐变似乎对我不起作用。 我已经尝试过渐变标题栏,视图,布局,textView等,并且在每种情况下都不显示渐变。 (到目前为止我只在模拟器上测试过它)。

我的drawable xml看起来像这样:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
  <gradient
      android:startColor="#00000000"
      android:centerColor="#FFFFFFFF"
      android:endColor="#00000000"
      android:angle="90" />
</shape>

我使用以下内容将背景设置为多个元素,但它从不显示:

android:background="@drawable/gradient_bg"

我尝试了不同的颜色和角度等,但无济于事。

如果我执行以下操作,则可以使用xml。

GradientDrawable grad = new GradientDrawable(
      Orientation.TOP_BOTTOM,
      new int[] {Color.RED, Color.YELLOW}
    );
    this.getWindow().setBackgroundDrawable(grad);

有人可以帮忙吗? 感谢。

3 个答案:

答案 0 :(得分:0)

尝试在整个渐变上设置不透明颜色。

例如,使用#FF000000表示黑色。两个第一个十六进制数字是alpha值。

答案 1 :(得分:0)

您的代码是:

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
  <gradient
      android:startColor="#00000000"
      android:centerColor="#FFFFFFFF"
      android:endColor="#00000000"
      android:angle="90" />
</shape>

工作正常并在Android HTC Hero手机上正确显示渐变!!可能是情节效果可能没有出现在模拟器上。

答案 2 :(得分:0)

感谢。我已经确定它适用于实际设备,因此它必须是模拟器问题。