Android中的嵌套形状
Posted
技术标签:
【中文标题】Android中的嵌套形状【英文标题】:Nested shapes in Android 【发布时间】:2010-12-10 21:57:05 【问题描述】:我正在尝试绘制一个具有三个矩形形状的形状:
-
纯色
渐变
白线
我该怎么做?
当我尝试这个时,它不起作用。布局具有父颜色。
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle"
android:
>
<shape
android:shape="rectangle"
android:
>
<solid
android:color="#ff297baf"
/>
</shape>
<shape
android:shape="rectangle"
android:
>
<gradient
android:type="linear"
android:startColor="#ff297baf"
android:endColor="#ff16c0e3"
android:angle="270"/>
</shape>
<shape
android:shape="rectangle"
android:
>
<solid
android:color="#FFFFFFFF"
/>
</shape>
</shape>
我正在尝试制作 3 种颜色的渐变。从纯色#ff297baf
开始,在 60% 处开始从#ff297baf
到#ff16c0e3
的渐变,并在末尾添加一条while 线。
【问题讨论】:
您需要在这里提供更多信息。到目前为止,您是否有示例代码?为什么需要纯色和渐变?它是透明的渐变叠加吗?白线,是轮廓吗?它应该进入形状内部吗? 请将您的评论添加到问题中并稍微格式化一下。 它不是透明的覆盖层。白线是轮廓。通常我会在 html 中执行此操作:“border-bottom:solid 2px white”。它不必在里面做,但我无法在视图上看到任何其他形状。编译器抱怨如果您打算使用多个形状,您应该尝试使用 LayerListDrawable。像这样的东西对我有用,但仅适用于您的示例高度 60px。您可能需要对其进行修改以完全适合您的需求,但这应该会给您一个良好的开端:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<gradient
android:angle="270"
android:endColor="#ff16c0e3"
android:startColor="#ff297baf"
android:type="linear" />
</shape>
</item>
<item android:top="57px">
<shape android:shape="rectangle">
<solid android:color="#FFFFFFFF" />
<size android: />
</shape>
</item>
【讨论】:
以上是关于Android中的嵌套形状的主要内容,如果未能解决你的问题,请参考以下文章