`

android 自定义view

阅读更多

自定义view:
1. 继承view,重构构造方法:
 public ImageAlternateButton(Context context, AttributeSet attrs)
 {
  super(context, attrs);

  // 赋值设置监听
  TypedArray a = context.obtainStyledAttributes(attrs,
    R.styleable.iaButton, 0, 0);
  int temp1 = a.getResourceId(R.styleable.iaButton_downDrawable, 0);
  int temp2 = a.getResourceId(R.styleable.iaButton_upDrawable, 0); //此处遵循规则attrs中定义的declare-styleable name “_” attr name
  a.recycle();

  // 设置按下及弹起时的图片资源
  this.upDrawable = context.getResources().getDrawable(temp2);
  this.downDrawable = context.getResources().getDrawable(temp1);
  this.setImageDrawable(upDrawable);
  this.setOnTouchListener(this);
 }
2.  如果自定义的View需要有自定义的属性,需要在values下建立attrs.xml。在其中定义你的属性
如:
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <declare-styleable name="iaButton">
        <attr name="upDrawable" format="reference|color"  />
        <attr name="downDrawable" format="reference|color"  />
    </declare-styleable>
</resources>
3. 在使用到自定义View的xml布局文件中需要加入xmlns:前缀="http://schemas.android.com/apk/res/你的自定义View所在的包路径".
    在使用自定义属性的时候,使用前缀:属性名,如my:textColor="#FFFFFFF"。
  <com.view.ImageAlternateButton
    android:id="@+id/chat_message_repeat_btn"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:visibility="gone" 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:iaButton="http://schemas.android.com/apk/res/com.hotalk"  
    iaButton:upDrawable="@drawable/ico_0821"
    iaButton:downDrawable="@drawable/ico_0821"
     /> 

  • 大小: 5.6 KB
  • 大小: 6.4 KB
分享到:
评论

相关推荐

    BookPage-Android自定义View实现翻页效果,并附带实现教程.zip

    仿真书籍翻页效果BookPageView简介:实现了仿真翻页效果,教程完整地描述了翻页原理分析到性能优化的过程教程博客:Android自定义View——从零开始实现书籍翻页效果(一) Android自定义View——从零开始实现书籍...

    android 自定义view比较综合的例子

    在Android开发中,自定义View是一项重要的技能,它允许开发者根据特定需求创建独特且功能丰富的用户界面。这个“android 自定义view比较综合的例子”显然涵盖了多个高级话题,旨在帮助有一定基础的开发者提升自定义...

    Android自定义View实现转盘旋转的效果

    Android 自定义 View 实现转盘旋转的效果 Android 的自定义 View 为开发者定义和使用个性化的 View 提供了很好的支持,想要使用自己定义的 View,需要继承 View 类,并重写构造函数和 onDraw() 函数。onDraw 函数...

    Android 自定义View实现水平温度计

    总的来说,这个项目涵盖了Android自定义View的基本流程,以及图形绘制、颜色处理、动态更新等核心知识点,是学习Android自定义组件的一个良好实践。通过学习和研究,开发者不仅可以掌握自定义View的开发技巧,还能...

    android 自定义View界面大合集

    在Android开发中,自定义View是一项重要的技能,它允许开发者根据需求创建独特的用户界面元素,以实现更加丰富和个性化的交互体验。"Android 自定义View界面大合集"的主题涵盖了这个领域的广泛知识点,包括但不限于...

    android自定义View(五)打造自己的遥控器菜单

    这个过程涉及到了Android自定义View的基本原理,包括绘图、触摸事件处理、动画和布局管理等。了解并掌握这些知识,对于提升Android应用的用户体验具有重要意义。想要了解更多关于Android自定义View的内容,可以访问...

    Android自定义View图片裁剪,支持自由裁剪、按自定义比例裁剪、圆形裁剪、旋转、镜面翻转,从0到1自定义View

    方便调用,有示例。 Android自定义View图片裁剪,支持自由裁剪、按自定义比例裁剪、圆形裁剪、旋转、镜面翻转,从0到1自定义View。kotlin编写的一个自定义View。

    Android 自定义view模板并实现点击事件的回调

    总结来说,创建Android自定义View模板并实现点击事件的回调,主要包括以下步骤: 1. 定义XML资源文件(如attrs.xml),声明自定义属性。 2. 创建自定义View类,继承自适当的父View类,如`RelativeLayout`。 3. 在...

    Android 自定义view 大合集源码

    在Android开发中,自定义View是一项重要的技能,它允许开发者突破系统提供的标准组件限制,创造出独特且富有创意的用户界面。本资源“Android 自定义view 大合集源码”由知名开发者雨松MOMO提供,旨在深入探讨并实践...

    Android自定义View-画直线、折线拖动点可移动demo

    Android自定义View,实现画直线、折现,拖动点可以随意移动位置。实现横竖屏切换时,坐标根据分辨率进行转换。

    Android自定义view,实现多画面播放器

    本项目"Android自定义view,实现多画面播放器"就是这样一个实例,它旨在提供一个能够同时展示多个视频流并支持交互操作的视图。 首先,自定义View的基本流程包括: 1. 创建一个新的View类,通常继承自View或已有的...

    【博文源码】Android 自定义 View 基础实例

    本篇博文源码聚焦于Android自定义View的基础实例,旨在帮助开发者掌握自定义View的基本步骤和技巧。 首先,自定义View通常涉及到以下几个关键点: 1. **创建新的View类**:开发者需要继承一个已有的View类,如View...

    Android自定义View实例:深度剖析 水晶/水滴 波浪球 实现步骤详解

    在Android开发中,自定义View是一项重要的技能,它允许开发者创造出独特且富有表现力的UI元素,提升用户体验。本文将深度剖析如何实现一个名为“水晶/水滴 波浪球”的自定义View,并通过详细步骤讲解,帮助你掌握...

    Android自定义View的事件分发机制(一)

    在博客文章“Android自定义View的事件分发机制(一)”中,作者jsonnan详细阐述了这些概念,并可能通过实例代码展示了如何在自定义View中实现自定义的事件分发逻辑。通过阅读这篇文章,开发者可以更深入地理解...

    Android自定义View来实现解析lrc歌词并同步滚动、上下拖动、缩放歌词的功能

    我的Android进阶之旅------&gt;Android自定义View来实现解析lrc歌词并同步滚动、上下拖动、缩放歌词的功能 http://blog.csdn.net/ouyang_peng/article/details/50813419 1、实现歌词同步滚动的功能,即歌曲播放到哪句...

    Android自定义View,View中的原点坐标相关问题

    总结,Android自定义View中的原点坐标问题涉及到视图的测量、布局、绘制和事件处理等多个方面。开发者需要深入理解这些概念,才能灵活地创建满足需求的自定义视图。通过源码学习、使用合适的工具以及不断实践,可以...

    Android自定义View之高仿QQ健康

    本项目"Android自定义View之高仿QQ健康"旨在教你如何模仿流行的QQ健康应用,利用谷歌的Material Design风格来设计自定义界面,提供一个既美观又实用的样式。 首先,我们来了解一下Material Design。它是谷歌推出的...

    Android自定义View高仿抖音潜艇大挑战小游戏.zip

    Android自定义View高仿抖音潜艇大挑战小游戏.zipAndroid自定义View高仿抖音潜艇大挑战小游戏.zipAndroid自定义View高仿抖音潜艇大挑战小游戏.zipAndroid自定义View高仿抖音潜艇大挑战小游戏.zipAndroid自定义View...

    Android自定义View(验证码)

    在Android开发中,自定义View是一项重要的技能,它允许开发者扩展Android系统提供的基本视图组件,以满足项目中独特的需求。本篇文章将深入探讨如何基于鸿洋大神的博客内容,创建一个自定义的验证码View。 验证码的...

    Android 自定义View实现环形带刻度的进度条

    在Android开发中,自定义View是一项重要的技能,它允许开发者根据特定需求创建独特且富有表现力的用户界面。本篇文章将深入探讨如何实现一个环形带刻度的进度条,这个自定义View适用于各种需要展示进度的情况,比如...

Global site tag (gtag.js) - Google Analytics