【问题标题】:Using shape drawable as my background xml使用 shape drawable 作为我的背景 xml
【发布时间】:2009-08-14 06:36:17
【问题描述】:

如果有人可以帮助我使用如何使用 shape drawable 作为我的视图的背景 xml,我真的很感激。

这是我尝试过的: 但我从来没有得到颜色。无论我放置什么颜色属性,Android 总是给我白色背景上的黑色文本。

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
            android:shape="rectangle">
            <stroke android:width="1dip" android:color="#FBBB" />
            <solid android:color="#6000"/> 
</shape>

试过了,不行

<shape xmlns:android="http://schemas.android.com/apk/res/android"
            android:shape="rectangle"
            android:color="#6000>

</shape>

试过了,不行

<shape xmlns:android="http://schemas.android.com/apk/res/android"
            android:shape="rectangle"
            android:background="#6000>
</shape>

我用谷歌搜索这是我发现尝试的有限结果。

【问题讨论】:

  • 您的形状示例在这里有效。您可能没有在 View 中正确设置
  • @n179911:请不要以这样的词开头:help in... 我们已经知道您正在寻求帮助

标签: java android


【解决方案1】:

颜色设置错误,必须指定4字节颜色,​​例如:#ffff8080

<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#f0600000"/>
    <stroke android:width="3dp" android:color="#ffff8080"/>
    <corners android:radius="3dp" />
    <padding android:left="10dp" android:top="10dp"
        android:right="10dp" android:bottom="10dp" />
</shape>

【讨论】:

【解决方案2】:

好的 - 我很确定我的问题与引发您的问题的原因相同,并且我已经找到了原因。

问题是资源定义冲突(特别是资源文件名)。例如,由于某种原因,您在项目的 /res/color/ 中放置了一个名为“drawable_bg.png”的文件;忘记了你做了这个(或者它是偶然发生的)。如果您随后尝试在名为“res/drawable/dialog_bg.xml”的项目中定义一个 Shape Drawable - PNG(来自“MyLib”)优先。由于您可以为不同的 DPI、外形尺寸、SDK 等提供许多“res”文件夹 - 很容易导致文件名冲突。这也可能发生在 Android 库项目中。如果您的项目对本身拥有资源的项目有任何依赖关系,则它们可能会导致冲突。正如我今天刚刚发现的那样,Eclipse 在许多情况下可以隐藏或不显示警告。

当这种情况发生时,很容易出现 Shape Drawable 未应用。由于“dialog_bg.png”可能不是为您的视图而设计的,因此您会得到意想不到的结果,并且很容易对真正发生的事情感到困惑。

解决此问题的最简单方法是重命名项目中的可绘制形状。如果问题出在 Android 库项目中的某个资源上,那么通过应用http://tools.android.com/recent/buildchangesinrevision14 中描述的推荐做法可能会找到更好的解决方案。

【讨论】:

  • 非常感谢,我尝试了所有找到的疯狂选项,但没有任何帮助。只有形状文件重命名救了我。
【解决方案3】:

这里似乎有几个问题。最大的一个似乎是您可以使用形状作为文本颜色的想法,这似乎没有意义。您可以使用颜色作为形状的背景,也可以将形状设置为视图的背景,但不能将形状设置为文本背景或前景。

另一件看起来错误的事情是,在您尝试的替代 XML 文件中,颜色值周围的结束引号丢失了,因此根本不应该编译。

【讨论】:

    【解决方案4】:

    您提供了错误的六色属性。 # 后面应该是八位数字。例如#00000000

    【讨论】:

      【解决方案5】:

      试试这个

      <?xml version="1.0" encoding="utf-8"?>
      <shape xmlns:android="http://schemas.android.com/apk/res/android"
      android:shape="rectangle" >
      
      <corners
          android:bottomLeftRadius="5dp"
          android:bottomRightRadius="5dp"
          android:radius="0.1dp"
          android:topLeftRadius="5dp"
          android:topRightRadius="5dp" />
      
      <solid android:color="#Efffff" />
      
      <stroke
          android:width="2dp"
          android:color="#25aaff" />
      
      </shape>
      

      【讨论】:

        猜你喜欢
        • 2014-11-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多