- 浏览: 185446 次
- 性别:
- 来自: 浙江
文章分类
最新评论
用代码简单介绍下自定义控件的使用:
先看主activity:
public class customImView extends LinearLayout{
public customImView(Context context, AttributeSet attrs) {
super(context, attrs);
TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.customView);
String text = a.getString(R.styleable.customView_customtextStr);
LayoutInflater inflater = (LayoutInflater) context.getSystemService(
Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.test_lin, this, true);
Button btn = (Button)view.findViewById(R.id.btn2);
btn.setText(text);
}
}
里面的样式styleable 来自于attrs.xml
<resources>
<declare-styleable name="customView">
<attr name="customtextSize" format="dimension"/>
<attr name="customtextStr" format="string"/>
</declare-styleable>
</resources>
布局文件来自于xml文件 test_lin.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<Button
android:id="@+id/btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="haha1111"/>
<Button
android:id="@+id/btn2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="haha2222"/>
</LinearLayout>
主布局文件activity_main.xml如下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:test="http://schemas.android.com/apk/res/com.lml.customview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<com.lml.customview.view.customImView
android:layout_width="match_parent"
android:layout_height="wrap_content"
test:customtextSize="100dp"
test:customtextStr="123啦啦啦"/>
</RelativeLayout>
注意这边的命名空间。
先看主activity:
public class customImView extends LinearLayout{
public customImView(Context context, AttributeSet attrs) {
super(context, attrs);
TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.customView);
String text = a.getString(R.styleable.customView_customtextStr);
LayoutInflater inflater = (LayoutInflater) context.getSystemService(
Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.test_lin, this, true);
Button btn = (Button)view.findViewById(R.id.btn2);
btn.setText(text);
}
}
里面的样式styleable 来自于attrs.xml
<resources>
<declare-styleable name="customView">
<attr name="customtextSize" format="dimension"/>
<attr name="customtextStr" format="string"/>
</declare-styleable>
</resources>
布局文件来自于xml文件 test_lin.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<Button
android:id="@+id/btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="haha1111"/>
<Button
android:id="@+id/btn2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="haha2222"/>
</LinearLayout>
主布局文件activity_main.xml如下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:test="http://schemas.android.com/apk/res/com.lml.customview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<com.lml.customview.view.customImView
android:layout_width="match_parent"
android:layout_height="wrap_content"
test:customtextSize="100dp"
test:customtextStr="123啦啦啦"/>
</RelativeLayout>
注意这边的命名空间。
- CustomView.zip (1.4 MB)
- 下载次数: 0
发表评论
-
关于Android的webSocket的简单使用
2017-05-12 14:34 988使用第三方jar: autobahn-0.5.0.jar 连 ... -
Comparator自定义排序的使用
2017-05-11 14:18 750java对于集合的自定义排序方法有: Arrays.sort ... -
查看Android虚拟机文件相关命令
2017-05-02 14:12 609我们在虚拟机下添加文件后,想查看下文件是否正确创建,可在win ... -
android6.0创建文件问题
2017-05-02 12:58 588Android在6.0有了动态权限管理,在文件创建时就需要动态 ... -
xutils的http模块的简单使用
2017-04-28 16:05 528先导入xutils相关依赖: compile 'org.xut ... -
Litepal的简单使用
2017-04-27 17:21 643相关包下载地址:https://github.com/Lite ... -
Android下拉刷新上拉加载控件的使用
2017-04-21 10:46 853参考链接:http://www.jianshu.com/p/6 ... -
图片加载框架
2017-04-19 16:29 403图片加载框架: picasso ImageLoader -
Android的Service总结
2017-04-17 15:46 462参考链接:http://www.cnblogs.com/lwb ... -
解决ViewPager的addOnPageChangeListener不加载第一个的问题
2017-03-18 17:53 2650今天在使用ViewPager的时候发现个问题。 需求如下: ... -
clone方法的使用
2017-01-04 10:14 556由于Java有引用这一说,当两个变量指向同一块内存时,改变 ... -
Fragment无法切换问题
2016-12-16 14:57 2115Android有一个回收机制,当内存不足时,会自动回收相关内存 ... -
关于Material Design的CollapsingToolbarLayout初次使用
2016-12-16 13:38 615最近了解了下CollapsingToolbarLayout的使 ... -
MVP模式的学习
2016-12-10 15:15 677以前我写代码都是使用MVC模式,这种模式使Activity变得 ... -
Material Design:Android Design Support Library 介绍
2016-12-10 14:14 472参考链接 : https://blog.leancloud.c ... -
SpannableString简介
2016-12-10 14:03 425参考链接: http://www.cnblogs.com/ji ... -
getResources().getDrawable方法的废弃
2016-12-10 13:20 1237参考链接:http://www.jianshu.com/p/e ... -
关于AndroidStudio的Unsupported major.minor version 52.0异常
2016-12-10 13:15 2381参考链接:http://blog.csdn.net/fakin ... -
Android记录
2015-06-01 10:54 643http://tools.android-studio.org ... -
android使用html标签
2015-03-13 20:42 724有些时候我们需要在一个textview上,对部分字体进行特殊效 ...
相关推荐
《Android自定义控件开发入门与实战》这本书深入浅出地讲解了如何在Android平台上创建和使用自定义控件,旨在帮助开发者从基础知识到实战技巧,全方位掌握这一核心技术。 一、自定义控件基础 自定义控件在Android中...
Android自定义控件开发入门与实战从自定义基础到实战的讲解。一步步深入。适合有一定Android基础的读者。本压缩包中自带了推荐的pdf阅读器。大家要是喜欢这本文档,推荐去京东,天猫,当当买支持一下默默付出的作者...
下面将详细探讨Android自定义控件的相关知识点。 1. **自定义控件的原因**: 在Android系统中,尽管有许多预置的控件,如Button、TextView等,但它们可能无法满足所有设计需求。为了实现独特的交互效果或视觉样式...
本文将深入探讨Android自定义控件的概念、重要性以及如何通过重写已有控件来扩展其功能,帮助开发者从初阶迈进高阶。 首先,我们了解什么是自定义控件。在Android系统中,预置了大量的标准控件,如Button、TextView...
这个压缩包“CustomViews”很可能是包含了一系列Android自定义控件的示例项目,旨在帮助开发者理解和学习如何在Android Studio 1.0.2环境下创建和使用自定义控件。 自定义控件通常涉及以下关键知识点: 1. **...
本资源"android自定义控件源码"提供了一套详细的自定义控件实现案例,帮助开发者深入理解自定义控件的工作原理和实现方法。配合文章《Android自定义控件深度解析》(文章地址:...
最后,考虑到`custom_widget`这个文件夹名,这可能是存放自定义控件相关资源的地方,包括布局文件(如`layout.xml`)、图片资源(`.png`或`.xml`)、样式文件(`styles.xml`)等。在自定义控件开发过程中,这些资源...
在Android开发中,自定义控件是提升应用用户体验和界面设计独特性的重要手段。本教程主要探讨如何通过继承和组合的方式来自定义控件,适用于已经有一定Android基础的开发者进行进阶学习。 首先,我们来理解自定义...
至此,我们完成了一个简单的Android自定义控件,它能展示图片和文字。然而,自定义控件的能力远不止于此。你可以添加更多的功能,如触摸事件处理、动画效果,甚至动态改变内容。通过深入理解Android的绘图API和布局...
1 本书从动画、绘图、视图三方面介绍Android自定义控件相关知识,内容系统全面,并配以翔实的案例。 2 Android自定义控件涉及动画和色彩,本书将图片地址制作成二维码,可供读者扫描观看。 3 本书适合初高级水平从业...
在Android开发中,自定义控件是提升应用独特性和用户体验的重要手段。本示例将深入讲解如何基于Android系统实现一个自定义的Button控件,该控件由一个ImageView和一个TextView组成,并添加了标签功能。以下我们将从...
《Android自定义控件入门到实战》是一本深入讲解Android平台下自定义控件开发的教程,源码2018.10版提供了一套完整的实践案例,帮助开发者从基础到进阶全面掌握自定义控件的制作技巧。这份资料涵盖了从基本的自定义...
《Android自定义控件入门到实战》源码提供了一套完整的自定义控件学习资源,涵盖了从基础到高级的各种实例,帮助开发者深入理解和实践Android自定义控件的开发。 自定义控件的核心在于扩展Android内置的View或...
在Android开发中,自定义控件是提升应用界面独特...通过学习和分析`customcontrols`中的代码,开发者可以深入理解Android自定义控件的工作原理,提高自己的Android开发技能,同时也能为今后的项目开发积累宝贵的经验。
在Android开发中,自定义控件和框架的运用是提升应用独特性和性能的关键。下面将对"android 自定义控件实现demo收集 及 框架收集"这一主题进行深入探讨。 首先,自定义控件在Android应用开发中扮演着重要角色。它们...
以下将详细介绍Android自定义组合控件的相关知识点。 一、自定义控件的分类 1. 组件扩展:对现有控件进行功能增强或样式修改,例如自定义Button增加动画效果。 2. 组合控件:结合多个基础控件,形成新的复合控件,...
在Android开发中,自定义控件是提升应用独特性和用户体验的重要手段。本教程将通过一个具体的实例——saRoundProgressBarDemo,来教你如何编写一个自定义的圆形进度条控件。这个自定义控件不仅提供了基本的进度显示...
在Android应用开发中,自定义控件是提升用户体验和界面个性化的重要手段。本文将深入探讨如何实现一个自定义的...不断学习和实践,将帮助你更好地理解和掌握Android自定义控件的精髓,为你的应用带来更丰富的用户体验。
本文将深入讲解如何进行Android自定义控件的开发,包括理解View的工作原理、创建自定义控件的几种方式以及如何为自定义控件添加属性。 首先,我们需要理解View的基本结构和工作原理。Android的视图系统采用组合模式...
本文将深入探讨如何创建一个美观的自定义拖动条控件,即"Android自定义控件之拖动条"。我们将讨论以下几个关键知识点: 1. **基础知识**:在Android中,基本的滑动条控件是`SeekBar`,它允许用户通过拖动滑块来选择...