最近我发现我可以在xml文件中定义形状。到目前为止,我使用九个补丁图像来创建自定义按钮等。当我尝试使用xml定义的形状时,它没有用。没有任何shaps,也来自作为示例提供的stackoverflow没有出现。我已经看到有人已经有类似的问题,但最终它在一个实际的设备上工作。在我的情况下它没有。
这是我尝试过的navigation_bar.xml:
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<gradient android:startColor="#FFFF0000" android:endColor="#80FF00FF"
android:angle="270"/>
<padding android:left="7dp" android:top="7dp"
android:right="7dp" android:bottom="7dp" />
<corners android:radius="8dp" />
然后用于:
<TextView
android:id="@+id/main_navigation_bar"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:background="@drawable/navigation_bar"/>
背景保持默认/黑色,不显示任何内容。
我在这里遗漏了什么吗?我也看了ApiDemos,官方文档,没有找到任何解决我问题的方法。
留下九张补丁图片会更好吗?
感谢您的回复。
当用代码调整一点时,我注意到了奇怪的行为。我的IDE是IntelliJ。
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:visible="true"
android:shape="rectangle">
<gradient
android:startColor="#FF89B4EE"
android:endColor="#FF5791E6"
android:type="linear"
android:angle="90"/>
<size
android:height="fill_parent"
android:dfv="fill_parent" />
我做了一个故意的错字和代码编译。看起来形状被忽略或其他什么。有人注意到了类似的东西吗?
答案 0 :(得分:0)
你试过把形状的大小?也许是一个愚蠢的问题,但对我有用,我也写没有大小的形状,没有“形状矩形”......
类似这样的事情
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:startColor="#FF89B4EE"
android:endColor="#FF5791E6"
android:type="linear"
android:angle="90"/>
</shape>
也许你可以阅读here android xml形状元素的完整文档。 欢呼声
答案 1 :(得分:0)
您的navigation_bar.xml是否在顶部有xml版本标头?那就是:
<?xml version ="1.0" encoding="utf-8"?>
我相信你可能会这样做;我不知道IntelliJ,但没有它就不会构建Eclipse。但是,从不伤害检查简单的解决方案。 :)