Android Layer List Drawable Move 调整项目位置
Android Layer List Drawable Move Adjust Item Position
如何定位 <item>
和 <layer-list>
Drawable?感谢您的帮助。
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@drawable/radio_uncheck" /> //24dp from vector assset
<item
android:drawable="@drawable/check_mark" /> //24dp from vector asset
</layer-list>
使用项目标签的 android:left
和 android:top
作为复选标记会将复选标记向上和向右移动,但它也会缩小复选标记,我不认为你正在寻找。
我可以想到其他两种方法来解决这个问题:第一种是只编辑可绘制的复选标记以移动它。您可以使用 InkScape 等编辑器执行此操作,还有其他编辑器。您可能需要稍微调整整体大小以适应移动的复选标记。我更喜欢这种方法。
第二种方法是编写自定义 LayerDrawable 覆盖 draw()
方法来抵消复选标记。如果这是您可能需要对其他可绘制对象执行的操作,我可能更喜欢这种方法。如果没有,我建议只做第一个建议。
如果您愿意放弃图层可绘制对象,您也可以使用 translateX 和 translateY 通过几个视图来完成您需要的操作。我相信还有其他方法。
最后选择修改SVG图片来满足自己的需求,过程如下:
转到 "https://materialdesignicons.com/" -> 查找图片 -> 下载 SVG 图片。
转到“https://editor.method.ac/”->“文件”->“打开 SVG...”-> 选择 SVG 文件->“打开”。
在右侧面板上调整 canvas 宽度和高度。
调整导入的SVG图片的位置。
“文件”->“保存图像...”->重命名文件->“下载”。
将 SVG 图像作为矢量资产导入 Android Studio。
如何定位 <item>
和 <layer-list>
Drawable?感谢您的帮助。
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@drawable/radio_uncheck" /> //24dp from vector assset
<item
android:drawable="@drawable/check_mark" /> //24dp from vector asset
</layer-list>
使用项目标签的 android:left
和 android:top
作为复选标记会将复选标记向上和向右移动,但它也会缩小复选标记,我不认为你正在寻找。
我可以想到其他两种方法来解决这个问题:第一种是只编辑可绘制的复选标记以移动它。您可以使用 InkScape 等编辑器执行此操作,还有其他编辑器。您可能需要稍微调整整体大小以适应移动的复选标记。我更喜欢这种方法。
第二种方法是编写自定义 LayerDrawable 覆盖 draw()
方法来抵消复选标记。如果这是您可能需要对其他可绘制对象执行的操作,我可能更喜欢这种方法。如果没有,我建议只做第一个建议。
如果您愿意放弃图层可绘制对象,您也可以使用 translateX 和 translateY 通过几个视图来完成您需要的操作。我相信还有其他方法。
最后选择修改SVG图片来满足自己的需求,过程如下:
转到 "https://materialdesignicons.com/" -> 查找图片 -> 下载 SVG 图片。
转到“https://editor.method.ac/”->“文件”->“打开 SVG...”-> 选择 SVG 文件->“打开”。
在右侧面板上调整 canvas 宽度和高度。
调整导入的SVG图片的位置。
“文件”->“保存图像...”->重命名文件->“下载”。
将 SVG 图像作为矢量资产导入 Android Studio。