首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android 自定义View小实例-实现绘制打折标签

    选取自定义View的方法 我们都知道自定义View有多种方式,比如继承自View、ViewGroup或者继承自现有的View子类等,每种实现方式的不同我们所需要做的处理工作也不同,从图中可以看出包含两个...2.实现过程 2.1 新建一个类 新建DiscountView类,继承自LinearLayout,重写三个构造方法,并在构造方法中做一些初始化操作 ?...绘制打折标签 接下来的标签就是绘制标签,在这里有两个注意的问题: (1) 绘制的方式有很多,可以绘制矩形后旋转画布或者直接用Path绘制,这里我们采用使用Path绘制 (2) 既然要绘制东西,那么就要重新...onDraw方法,那么继承自Viewgroup的方式默认是不执行onDraw方法的所以记得要设置 setWillNotDraw(false); 2.5 初始化画笔等信息 我们绘制的打折标签为红色 paintDiscount...= new Paint(); paintDiscount.setColor(Color.RED); paintDiscount.setStyle(Paint.Style.FILL); 标签的打折文字是白色

    88760

    Android View学习示例

    View,是Android的一个超类,这个类几乎包含了所有的屏幕类型。每一个View都有一个用于绘图的画布,这个画布可以进行任意扩展。...在游戏开发中叶可以自定义视图(View),这个画布的功能更能满足我们在游戏开发中的需要。...在Android中,任何一个View类都只需重写onDraw 方法来实现界面显示,自定义的视图可以是复杂的3D实现,也可以是非常简单的文本形式等。 ...注意,invalidate 不能直接在线程中调用, 就是不可以在子线程中调用,因此它违背了 Android的单线程模型:Android UI操作并不是线程安全的,并且这些操作必须在UI 线程中执行,因此...Android中最常用的方法就是利用Handler来实现UI线程的更新。

    33020

    Android View架构总结

    View和Activity的区别 android的四大组件,Activity是四大组件中唯一一个用来和用户进行交互的组件。可以说Activity就是android的视图层。...View有哪些? Android中控件大致被分为两类ViewGroup,View。ViewGroup作为容器管理View。Android视图,是类似于Dom树的架构。父视图负责测量定位绘制等操作。...现在在用的很多控件都是直接或者间接继承自View的,如下图。 ? ViewGroup是什么? 一个ViewGroup是一个可以包含子View的容器,是布局文件和View容器的基类。...在这个类里定义了ViewGroup.LayoutParams类,这个类是布局参数的子类。 其实ViewGroup也就是View的容器。...这种从根到叶的组合方式,我们可以看做成一个View树。(类似于XML),而View的显示和事件处理,都是依赖于这个View树。 绘制和事件处理的起始点,都是从根View开始一级一级的往下传递。

    1.1K60

    Dive into Android Custom View

    View的基本知识 (1.1) 自定义View的一般步骤 一般来说,自定义View往往有以下两个步骤: 1.创建一个继承自View或者某个具体View的类,在其中完成自定义View的主要功能; 2....(1.2) 自定义View的构造方法 在自定义View类中一般会声明三个构造方法,构造方法的写法依据个人喜好往往有下面两种风格?...; 第二个参数attrs 就是我们自定义View声明的一些属性,一般传入的是 R.styleable.xxx,内容写在 attrs.xml 文件中,标签为declare-styleable,例如V1.0...,例如对编辑模式更友好些,避免只显示一个类名在Preview视图中,还有对于View在异常情况下进行数据保存和恢复的工作等等,以后有空了再深入研究下。...dive into Android View constructors

    49330

    android之View绘制

    Android系统的视图结构的设计也采用了组合模式,即View作为所有图形的基类,Viewgroup对View继承扩展为视图容器类,由此就得到了视图部分的基本结构--树形结构 View定义了绘图的基本操作...在view中定义为final类型,要求子类不能修改。...而对于ViewGroup则不需要实现该函数,因为作为容器是“没有内容“的,其包含了多个子view,而子View已经实现了自己的绘制方法,因此只需要告诉子view绘制自己就可以了,也就是下面的dispatchDraw...在view中这是个空函数,具体的视图不需要实现该方法,它是专门为容器类准备的,也就是容器类必须实现该方法;      (5)如果需要(应用程序调用了setVerticalFadingEdge或者setHorizontalFadingEdge...ViewGroup中的扩展操作:      首先Viewgroup是一个抽象类。

    71890

    【Android XML】Android XML 转 Java Code 系列之 Selector(2)

    XML对应的类就是ColorStateList(里面介绍的第一个就是)。...而第二个XML,我一开始找了很久都没找到,直到我点开文档最下方的State List Drawable,发现赫然写着: StateListDrawable(原谅我激动的心情) 点进这个类看到对应的...所谓转换,其实就是构造一个对应类的对象,然后把XML的属性对应的内容用Java代码的方式“填充”进这个对象中便完成了。在使用到这个XML的地方,也用对应的设置方法把该成员设置进去就可以了。...是在Android ROM编译的时候生成的一个类,就类似我们写应用时自动生成的R.java,里面全部是声明的值。...注意: 虽然ColorStateList对应的selector XML放在drawable文件夹里面,但他本身是一个自定义类!父类是Object!

    72510

    【Android XML】Android XML 转 Java Code 系列之 style(3)

    这里我们用面向对象的父类来理解, 就是子style会继承父类的属性. 同样的, 父类的属性要比子类属性优先级要低. (你都把我写出来了, 居然和我说我没用, 要被老爸的style覆盖掉?!)...style不属于android Namespace中的属性 (不以android:开头), 没有对应的setStyle方法可以使用, 我的理解是它属于xml预加载的一种”机制”....对于一个style, 将其替换成style中的attribute集合, 并向上 (父类) 继续增加父类集合, 并注意优先级 (子类可以覆盖父类attribute)...., 是用android:attr索引的. android:attr其实是在theme中定义的属性, apk的theme在AndroidManifest.xml中定义....在解析xml过程中, 遇到android:attr的时候, 他就会在apk指定的theme中找到相应的item.

    64720

    【Android XML】Android XML 转 Java Code 系列之 介绍(1)

    最近在公司做一个项目,需要把Android界面打包进jar包给客户使用。对绝大部分开发者来说,Android界面的布局以XML文件为主,并辅以少量Java代码进行动态调整。...参考链接:http://blog.csdn.net/lg707415323/article/details/7709076 2.LayoutInflater 方案 实现方法:通过LayoutInflater类解析外部...分析:Android解释因为性能原因,LayoutInflater只支持解析已经预编译在apk包里的xml。所以没办法解析外部导入的xml布局资源。...结论:不可行 参考链接: http://gamebs.blog.163.com/blog/static/1860182182012827545621/ 3.Android XML 转 Java Code...这种方案过于累赘,只能选择Android XML翻译原生代码的方法。于是就有了AndroidXMLToJava管理工具的诞生。 接下来几篇会分享该转换工具的一些解决过程。

    2.1K30

    Android-Xml绘图

    Android XML绘图 XMl在Android中可不仅仅是一个布局文件、配置列表。它甚至可以变成一张画、一张图。..." android:dashGap="4dp" android:dashWidth="4dp" /> shape> 接着在要使用的view里引用就可以了,例如本例中用做...; 线左右两边会留有空白间距,线越粗,空白越大; 引用虚线的view需要添加属性android:layerType,值设为”software”,否则显示不了虚线。...:drawable,在color目录下可用的属性为android:color; item的子节点可以为任何类型的drawable类标签,除了上面例子中的shape、color、layer-list,也可以是...selector标签,可以添加一个或多个item子标签,而相应的状态是在item标签中定义的。 定义的xml文件可以作为两种资源使用:drawable和color。

    79010
    领券