android – 在xml drawable中绘制多个矩形

android – 在xml drawable中绘制多个矩形,第1张

概述我试图弄清楚如何在 android xml drawable中创建一个3×3行的小矩形. 这不是真正让我接近(2个小的,但它们重叠): <?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:le 我试图弄清楚如何在 android xml drawable中创建一个3×3行的小矩形.
这不是真正让我接近(2个小的,但它们重叠):
<?xml version="1.0" enCoding="utf-8"?><@R_557_3419@ xmlns:androID="http://schemas.androID.com/apk/res/androID">    <item androID:left="20dp" androID:top="20dp" androID:right="25dp" androID:bottom="25dp" >        <shape androID:shape="rectangle">            <stroke androID:wIDth="1px" androID:color="#fff" />            <solID androID:color="#00FF0000" />            <corners androID:radius="3dp" />        </shape>    </item>    <item androID:left="30dp" androID:top="30dp" androID:right="35dp" androID:bottom="25dp" >    <shape androID:shape="rectangle">            <stroke androID:wIDth="1px" androID:color="#fff" />            <solID androID:color="#00FF0000" />            <corners androID:radius="3dp" />            <size androID:wIDth="10dp"                  androID:height="10dp"/>        </shape>    </item></@R_557_3419@>
解决方法 部分问题是图层列表中的各个项目会缩放到可绘制的整体大小.如 the docs中所述,您可以通过将小方块包装在可绘制的位图中来解决此问题.这样的事可能有用.首先,将基本形状定义为单独的drawable:

绘制/ square.xml

<?xml version="1.0" enCoding="utf-8"?><shape xmlns:androID="http://schemas.androID.com/apk/res/androID">    <stroke androID:wIDth="1px" androID:color="#fff" />    <solID androID:color="#00FF0000" />    <corners androID:radius="3dp" />    <size androID:wIDth="10dp" androID:height="10dp"/></shape>

(编辑:如果你能做到这一点会很好,但不幸的是,正如@Someone Somewhere在评论中指出的那样,你不能从< bitmap>标签中引用形状drawable.你必须创建正方形作为其余部分的实际位图图形.)

然后,您可以定义不会缩放单个方块的图层列表:

<?xml version="1.0" enCoding="utf-8"?><@R_557_3419@ xmlns:androID="http://schemas.androID.com/apk/res/androID">    <!-- first row -->    <item androID:left="20dp" androID:top="20dp">        <bitmap androID:src="@drawable/square" androID:gravity="top|left" />    </item>    <item androID:left="35dp" androID:top="20dp">        <bitmap androID:src="@drawable/square" androID:gravity="top|left" />    </item>    <item androID:left="50dp" androID:top="20dp">        <bitmap androID:src="@drawable/square" androID:gravity="top|left" />    </item>    <!-- second row -->    <item androID:left="20dp" androID:top="35dp">        <bitmap androID:src="@drawable/square" androID:gravity="top|left" />    </item>    <item androID:left="35dp" androID:top="35dp">        <bitmap androID:src="@drawable/square" androID:gravity="top|left" />    </item>    <item androID:left="50dp" androID:top="35dp">        <bitmap androID:src="@drawable/square" androID:gravity="top|left" />    </item>    <!-- third row -->    <item androID:left="20dp" androID:top="50dp">        <bitmap androID:src="@drawable/square" androID:gravity="top|left" />    </item>    <item androID:left="35dp" androID:top="50dp">        <bitmap androID:src="@drawable/square" androID:gravity="top|left" />    </item>    <item androID:left="50dp" androID:top="50dp">        <bitmap androID:src="@drawable/square" androID:gravity="top|left" />    </item></@R_557_3419@>

我没有测试过这个,所以它可能有点偏,但你应该能够调整它以获得你想要的东西.重要的是摆脱缩放.

总结

以上是内存溢出为你收集整理的android – 在xml drawable中绘制多个矩形全部内容,希望文章能够帮你解决android – 在xml drawable中绘制多个矩形所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1149379.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存