今天做自定义控件+滚动条。试了N次未果。在网上查到有位老兄的文章,受到了指点。
1.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.或许你需要在你的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类中再重写一个方法,
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
setMeasuredDimension(800, 2000);
}
这个方法也是来自于view类,这时候滚动条知道你这个控件显示的区域有2000那么高,那滚动条必须的了.......
运行试试吧......
分享到:
相关推荐
2. **绘图基础**:`Canvas`和`Paint`对象在自定义View中起到核心作用。`Canvas`提供了绘图操作接口,如绘制线条、形状、文本和位图,而`Paint`则控制颜色、样式、字体等绘图属性。熟悉`Matrix`变换和`Shader`着色器...
本案例中,我们将讨论如何在自定义View中利用Canvas绘制两条折线图。首先,我们需要了解Canvas的基本概念,它是Android图形系统的核心,允许开发者在指定的Bitmap上进行绘图操作。 1. **Canvas的理解与使用** - ...
本教程将深入探讨如何创建一个仿1号店垂直滚动广告条的自定义View。这个功能通常用于展示促销信息或者公告,能吸引用户的注意力并提供良好的交互体验。 首先,我们从声明变量开始。在实现这个自定义View时,我们...
本教程将深入探讨如何实现一个“仿淘宝垂直滚动广告条”的自定义View,以此来展示如何通过源码定制UI组件。 首先,我们需要理解自定义View的基本流程。在Android中,自定义View通常涉及以下步骤: 1. **创建一个新...
在XML布局文件中,我们需要创建一个自定义的垂直滚动条实例,引用我们之前创建的自定义View类。属性如`android:id`用于引用,`android:layout_width`和`android:layout_height`设置合适的大小,`android:max`设定...
在Android开发中,自定义View是一项重要的技能,它允许开发者根据需求创建独特的用户界面元素。本教程将聚焦于如何创建一个简单的仿QQ音乐歌词颜色渐变的自定义View。这个功能在许多音乐播放应用中常见,它能为用户...
在Android开发中,自定义View是一项重要的技能,它允许开发者根据需求创建独特的用户界面元素,提升应用的用户体验和个性化程度。本节我们将深入探讨自定义View的第四部分,主要涉及以下几个核心知识点: 1. **绘制...
本教程将深入探讨如何实现一个简单的快速索引功能,类似于微信联系人或手机通讯录中的字母滚动条,这能极大地提高用户的交互体验。 快速索引,通常称为侧边栏索引或字母导航,是一种常见的UI设计,用于帮助用户快速...
1. 创建自定义View:为了实现一个可定制的滚动条,我们需要创建一个新的Java类继承自Android的`View`类或`AppCompatSeekBar`。在这个类中,我们可以覆盖`onDraw()`方法来绘制自己的滚动条样式,同时重写`onMeasure()...
在Android开发中,自定义View是一项重要的技能,它允许开发者根据特定需求创建独特且功能丰富的UI组件。这个压缩包文件“自定义View_工具类”显然包含了一系列自定义的View工具,可以帮助开发者实现各种定制化的界面...
3. **绘制字母列表**:你可以使用`Canvas`类进行绘制,包括画出字母、索引条等。可能需要用到`Paint`对象来设置字体样式、颜色等属性。`Rect`对象可以帮助你在屏幕上定位各个元素。 4. **滚动逻辑**:当用户滑动时...
在Android开发中,自定义View是一项重要的技能,它允许开发者根据特定需求创建独特且功能丰富的用户界面组件。本文将深入探讨如何在Android中创建一个自定义的“签名板”View,让用户可以在屏幕上签名并保存其签名...
总的来说,实现Android的数字滚动条特效需要扎实的Android基础知识,包括自定义View、绘图、动画以及事件处理。通过实践这个项目,你不仅能掌握这些技能,还能提高解决复杂问题的能力,为今后的Android开发积累宝贵...
总之,Android自定义View仿iPhone时间选择器是一个涉及手势识别、Canvas绘制以及视图状态管理的综合实践。通过深入学习和理解这些概念,开发者能够创建出更多富有创意的交互控件,提升应用的用户体验。
为了支持多条可操作的直线,可以在自定义View中维护一个线段列表,每条线段由其起始和结束坐标表示。在`onDraw()`中遍历这个列表,分别绘制每一条线,并在`onTouchEvent()`中根据选中的线段处理触摸事件。 此外,...
在Android开发中,创建一个类似浏览器滚动条的自定义View是一项常见的需求,这涉及到对UI组件的深入理解和自定义视图的实现。本教程将详细讲解如何基于"ScrollDemo"来构建一个具备垂直滚动功能的自定义View,并结合...
在Android开发中,自定义View是一项重要的技能,它允许开发者根据特定需求创建独特且功能丰富的用户界面组件。本文将深入探讨如何使用Kotlin语言来实现一个自定义的标尺控件,这种控件通常用于选择身高、体重等数值...
对于刻度尺,我们需要绘制刻度线、标记值和可能的滚动条。`Canvas`提供了各种绘制方法,例如`drawLine()`用于绘制直线,`drawText()`用于绘制文本,以及`drawRect()`用于绘制矩形等。 2. **测量尺寸**:在自定义...
验证码自定义View是Android开发中的一个重要实践,它允许开发者根据应用需求定制独特的验证方式,以增强用户体验并提高安全性。在Android应用中,验证码通常用于防止机器人自动操作,比如注册、登录或发表评论等场景...
在Android开发中,自定义View是一种常见的需求,用于创建具有特定功能或视觉效果的视图。本实例将探讨如何自定义一个等级滑动条(BeautySeekBarView),它允许用户通过滑动来选择不同的等级,同时在滑动过程中提供...