使用 shape drawable 作为我的背景 xml
Posted
技术标签:
【中文标题】使用 shape drawable 作为我的背景 xml【英文标题】:Using shape drawable as my background 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: 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... 我们已经知道您正在寻求帮助 【参考方案1】:颜色设置错误,必须指定4字节颜色,例如:#ffff8080
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#f0600000"/>
<stroke android: android:color="#ffff8080"/>
<corners android:radius="3dp" />
<padding android:left="10dp" android:top="10dp"
android:right="10dp" android:bottom="10dp" />
</shape>
【讨论】:
不清楚 9 个人如何将该答案列为所述问题的解决方案!见developer.android.com/guide/topics/resources/…。不需要 32 位颜色!此外,我还发布了使用 24 位颜色形状可绘制对象的应用程序。请参阅developer.android.com/guide/topics/resources/…。最后,我尝试了“已批准”的代码 - 它失败了! 道歉 - 我应该说“它不起作用” - 而不是“失败!” 感谢您的剪辑! :)【参考方案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:
android:color="#25aaff" />
</shape>
【讨论】:
以上是关于使用 shape drawable 作为我的背景 xml的主要内容,如果未能解决你的问题,请参考以下文章
为啥我的Android Studio里新建的drawable的XML文件里没找不到shape这个选项.
Android Drawable - Shape Drawable使用详解(附图)
笔画没有应用于矩形到xml drawable用作android中的edittext背景