1.在xml中调用自定义View

Android自定义控件是通过继承View类实现的,新建一个View类的子类,然后重写ondraw方法,加入你创建的类名为(MyView),那么在Activity中SetContentview(MyView),就可以显示你自己定义的控件了。

但是如果你想将该控件能够和其他控件(如:Button)一样可以在xml中通过布局的方式显示它,那么你就必须重写View类的另一个构造方法,如下: public View(Context context, AttributeSet attrs){super(context,attrs}
复制代码这样才能够正确的显示你自定义的控件。

MyView在xml中的使用如下:

<com.android.MyView(包名+类名) android:id="@+id/myview"android:layout_width = "wrap_content"android:layout_height="wrap_content"/>

2.对自定义View添加滚动条

或许你需要在你的MyView中显示太多的信息,以至于手机小小的屏幕不能够完全显示,当然,此时你会想到添加滚动条,View类中没有办法可以创建一个属于它的滚动条,只能通过其他方法了,

唉,这时我们想到了ScrollView,新建一个布局文件(myview.xml),

代码如下:

 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="wrap_content" android:layout_height="wrap_content">----------------此处添加你的自定义控件(见上)--------------------------------------------------</ScrollView>

复制代码现在在Activity中设置SetContentview(R.layout.myview),OK了??运行之后发现,没有滚动条啊,

别急,还有一步没做,在你新建的MyView类中再重写一个方法, (其中800和2000分别是自定义View原本的宽和高)

public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {setMeasuredDimension(800, 2000);
}

这个方法也是来自于view类,这时候滚动条知道你这个控件显示的区域有2000那么高,那滚动条必须的了.......

摘自:http://bbs.51cto.com/thread-835046-1.html

自定义View添加滚动条相关推荐

  1. Android中实现自定义View组件并使其能跟随鼠标移动

    场景 实现效果如下 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 新建An ...

  2. Android官方开发文档Training系列课程中文版:创建自定义View之View的交互

    写在前面的话:这一章很有价值,想要提升安卓知识的一定要读一读.不做安卓的也可以得到其它方面的提升. 原文地址:http://android.xsoftlab.net/training/custom-v ...

  3. 安卓自定义view全解:初始化,onDraw函数,onMeasure函数,用户手势事件

    全栈工程师开发手册 (作者:栾鹏) 安卓教程全解 安卓自定义view全解. view类包含如下函数.可供重写. onFinishInflate() 回调方法,当应用从XML加载该组件并用它构建界面之后 ...

  4. Android自定义View

    概述 Android开发进阶的必经之路 为什么要自定义View 自定义View的基本方法 自定义View的最基本的三个方法分别是: onMeasure().onLayout().onDraw(); V ...

  5. Android自定义View如此简单 实现点击动画+进度刷新的提交/下载按钮(填坑面试题)

    SubmitButton 背景 实现思路 继承View 面试题:构造方法如何选择 自定义属性 面试题:styleable.AttributeSet.TypedArray的关系 测量宽高 面试题:UNS ...

  6. Android开发之自定义View

    目录 一.View的简介 1.1 View的构造函数 1.2 View的绘制流程图 二.自定义View 2.1 onMeasure()方法 2.2 OnDraw()方法 一.View的简介 View类 ...

  7. Android之自定义View

    自定义View自定义View有四个构造函数如果View是在Java代码里面new的,则调用第一个构造函数如果View是在.xml里声明的,则调用第二个构造函数不会自动调用. 一般是在第二个构造函数里主 ...

  8. Android 自定义View (一)

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/24252901 很多的Android入门程序猿来说对于Android自定义View ...

  9. android 图片处理过程中添加进度条,『Android自定义View实战』给我一个图标,还你一个水波纹进度球...

    前言 我们都知道,平时表现进度的方式有千千万万种(没有UI想不到的,只有你做不到的= =.),其中有一种就是水波纹进度球的形式,网上很多种实现都是直接采用纯色填充的方式,即水波纹都是纯颜色填充,效果看 ...

最新文章

  1. iMeta | 浙大倪艳组MetOrigin实现代谢物溯源和肠道微生物组与代谢组整合分析
  2. 微软Windows 7实现10秒启动的背后
  3. 圣诞夜,让你的代码都变成圣诞树吧!
  4. 因xhost命令和DISPLAY环境变量操作不当导致无法启动Oracle图形化安装界面
  5. 解决Ubuntu终端编辑时上下左右变成ABCD问题
  6. window.onload事件
  7. Taro+react开发(75):taro简介
  8. 顺丰快递单号的规律_顺丰速运顺丰快递单号查询大全
  9. Vue.JS学习笔记
  10. 光盘刻录大师刻录flac_Mac DVDRipper Pro(DVD光盘刻录软件)v9.0.1版
  11. 计算机 医学 sci期刊,医学临床研究方面2分的sci期刊
  12. itext修改pdf文字
  13. Android的富文本
  14. team viewer如何解绑设备
  15. 国家示范性高职院校名单(109所)
  16. Linux安装idea步骤
  17. python保存的代码在哪里_Python保存程序
  18. 为什么微软推出“阉割版”onenote?一篇文章快速入门onenote uwp
  19. mkimage工具将zImage转换为uImage
  20. Silverlight的未来[译文]

热门文章

  1. 数据库系统概论 实验报告答案 实验五:数据库单表查询
  2. 从零到一手写迷你版Vue
  3. matplotlib 学习教程
  4. python写透视挂_python opencv实现任意角度的透视变换实例代码
  5. 基于Unity3D(UGUI)的背包系统(装备系统,锻造系统,购买系统)
  6. 工厂方法模式(Java)
  7. 20年前毁誉参半的网游《传奇》,背后是怎样的故事?
  8. Linux fork系统调用
  9. 基于卡尔曼滤波器的融合IMU与雷达/深蓝多传感器融合第七章作业
  10. python抢火车票_听说你能用 Python 帮我抢火车票?!