layer-list 的用法

layer-list 的用法,第1张

使用layer-list可以将多个图层按照顺序层叠在一起 作为一个整体显示

第一个图层放在最下边 第二个图层叠加在第一个图层上面 第三个图层以此类推

layer-list的item可以通过下面四个属性设置偏移量:

如果想实现两个拼在一起的有边框的图形 要求图形之间只有一条边线 应该如何实现呢?

我们知道如果画两个有边框的图形拼在一起 中间会有两条边线 而非一条 这个时候 就需要对其中一个图形的边线进行遮盖 我们选择遮盖住左边图形的右边线

XML

带阴影的圆角矩形 是怎么实现的呢?

这个效果可以由一个灰色的圆角矩形叠加上一个白色的圆角矩形做成

XML

分隔符叫 divider,可以直接在布局中设定简单的样式如

android:divider="#fffff"  分割线颜色  

android:dividerHeight="1px"  分割线高度

也可以单独用一个xml文件设定divider的颜色形状等如下(list_divider.xml放在drawable文件夹下):

<!-- res/drawable/liner.xml ->

<?xmlversionxmlversion="1.0"encoding="utf-8"?>

<layer-list   xmlns:android="http://schemas.android.com/apk/res/android">  

<item>

<shape>

<gradient

android:startColor="#000000"

android:centerColor="#CCCCCC"

android:endColor="#FFFFFF"

android:height="1px"

android:angle="0"/>

</shape>

</item>

</layer-list> 

再在布局中引用  android:divider="@drawable/list_divider" 

两个疑问,

1、”3,输入 新图层名称后,该图层关闭“,是重命名还是图层关闭?原代码是重命名

2、至于你说的屏幕中心显示,是指对话框?

改为如下,:

(defun c:t1 ()

(setvar "cmdecho" 0)

(vl-load-com)

(princ "\n★功能:点选图元更改其所在图层的名字。")

(command "undo" "be")

(while

(progn (setq sel

(entsel

"\n请点选直线、多段线、样条曲线、标注、圆弧、圆、椭圆(不支持选图块)\n"

)

)

(wcmatch (cdr (assoc 0 (entget (car sel))))

"*LINE,*TEXT,ARC,CIRCLE,ELLIPSE,DIMENSION"

)

)

(setq atcad (vlax-get-acad-object)

doc (vla-get-activedocument atcad)

layers(vla-get-layers doc)

layerlist nil

)

(if (setq s1 (car sel))

(sssetfirst

nil

(ssget "x" (list (assoc 8 (cdr (entget s1)))))

)

)

(vlax-for each layers

(setq nam (vla-get-name each)

layerlist (cons (list nam) layerlist)

)

)

(setq laynam (cdr (assoc 8 (entget (car sel)))))

(princ (strcat "\n提示:您选中的图元所在图层为:" laynam))

(if (setq newlaynam (getstring "\n请输入新的图层名:"))

(command "rename" "LA" laynam newlaynam)

(princ "\n输入的图层名为空或与现已有图层名相同。\n")

)

)

(command "undo" "e")

(princ)

)


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

原文地址: https://outofmemory.cn/bake/11553693.html

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

发表评论

登录后才能评论

评论列表(0条)

保存