pan*_*nda 9 xml android gradient shape drawable
如何在XML中定义易于重复使用的基本形状(或渐变或角落)?
我有十几个可绘制的渐变,除了开始和结束颜色之外都是相同的.我希望在其他地方定义相同的东西,并为每个不同的渐变设置一个XML文件,只定义开始和结束颜色.那可能吗?
这是基础:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient xmlns:android="http://schemas.android.com/apk/res/android"
android:type="linear"
android:angle="270"
android:startColor="#e1ffffff"
android:endColor="#e100ff00">
<stroke android:width="1dp"
android:color="#ff000000" />
<corners android:radius="4dp" />
</gradient>
</shape>
Run Code Online (Sandbox Code Playgroud)
然后我想在每个drawable的XML文件中覆盖startColor和endColor(也许是角半径或任何其他属性).
我尝试使用父级和样式,但它们都不使用任何属性.例如:
<style name="base_gradient">
<item name="android:angle">270</item>
<item name="android:type">linear</item>
<item name="android:startColor">#e1ffffff</item>
<item name="android:endColor">#e100ff00</item>
</style>
Run Code Online (Sandbox Code Playgroud)
然后drawable看起来像:
<gradient style="@style/base_gradient" />
Run Code Online (Sandbox Code Playgroud)
那没用.我尝试类似地将上面的内容放在它自己的XML文件中,然后为每个drawable执行此操作:
<gradient parent="@drawable/base_gradient" />
Run Code Online (Sandbox Code Playgroud)
那也行不通.
有没有办法做到这一点?
不幸的是,我不认为这是可能的.我试图做同样的事情,但找不到解决方案.
我建议将所有值放在资源xml文件中.在我的情况下,我选择将我的维度放在dimensours.xml中的dimens.xml,&integers.xml和颜色中(虽然它们可以组合成一个文件)
虽然我最终得到了每种颜色的形状可绘制文件,但至少如果我想调整颜色或填充等,我只需要编辑colours.xml文件integers.xml或dimens.xml文件.
我的一个形状可绘制然后看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<corners
android:radius = "@dimen/radius_corner" />
<!-- end colour at top, start colour at bottom -->
<gradient
android:angle="@integer/gradient_angle_default"
android:endColor="@color/white"
android:startColor="@color/pink_pale"/>
<padding
android:left = "@dimen/my_padding"
android:right = "@dimen/my_padding"
android:bottom = "@dimen/my_padding"
android:top = "@dimen/my_padding" />
</shape>
Run Code Online (Sandbox Code Playgroud)
资源文件链接:http://developer.android.com/guide/topics/resources/more-resources.html
希望这可以帮助.
| 归档时间: |
|
| 查看次数: |
5835 次 |
| 最近记录: |