Android 控件
文章平均质量分 61
源码下载: https://github.com/nai-chen/AndroidBlog
假装你是大灰狼
移动端工程师
展开
-
Android PickerView简单应用
这是一款仿iOS的PickerView控件,有时间选择器和选项选择器。添加依赖项。原创 2023-05-15 18:14:25 · 2964 阅读 · 0 评论 -
Android StackLayout简单应用
计算高度的方法后,我们自定义了一个文本显示控件,中计算高度的部分,并从中找到了答案。得到的,由此可见,文字的管理是通过。内部会根据不同的设置,创建不同的。高度的时候,计算完高度后对。从上面的代码中我们可以看到。,用它来计算文本高度。在这里我们主要研究了。原创 2023-03-15 14:38:33 · 446 阅读 · 0 评论 -
Android 自定义验证码输入框
自定义手机验证码,效果如下很明显,一般的EditText是无法满足我们的需求,我们必须自定义一个手机验证码控件。原创 2021-06-15 17:16:56 · 3734 阅读 · 2 评论 -
Android ParagraphStyle应用
ParagraphStyle主要用于段落级别的文本格式化。1. LeadingMarginSpanLeadingMarginSpan可以设置行的缩进。LeadingMarginSpan.Standard(int first, int rest),first设置首行缩进,rest设置其他行的缩进LeadingMarginSpan.Standard(int every),every设置所有行的缩进LeadingMarginSpan.Standard(Parcel src),从Parcel中读取数据原创 2020-05-27 11:02:49 · 1787 阅读 · 0 评论 -
Android ConstraintLayout布局
前言ConstraintLayout约束布局, 与RelativeLayout有点类似。需要添加依赖dependencies { ... ... implementation 'com.android.support.constraint:constraint-layout:1.1.3'}1. 相对位置主要属性如下,layout_constraintLeft_to...原创 2020-01-02 12:25:22 · 2707 阅读 · 0 评论 -
Android clipChildren属性
1. clipChildren属性clipChildren属性允许子控件超出父布局。例如我们定义父布局高度为30dp,而子控件有50dp,只显示30dp的高度。<LinearLayout android:layout_width="match_parent" android:layout_height="100dp" android:orientation="ho...原创 2019-03-14 10:31:00 · 1556 阅读 · 1 评论 -
Android 自定义手机输入框
1. 自定义类PhoneTextViewPhoneTextView继承EditText,在构造函数里面可以初始化类型,限定长度和输入类型,并添加TextWatcher监听器。public class PhoneTextView extends EditText { public PhoneTextView(Context context) { this(context...原创 2019-03-01 13:42:54 · 820 阅读 · 1 评论 -
Android 自定义手势键盘
自定义手势键盘手势键盘有三种状态,初始状态、点击状态和错误状态,分别以下列三个图片显示。2. 数据类CircleAreaCircleArea类用来记录手势键盘的信息。static class CircleArea { float x, y; // 圆心X float radius; // 圆半径 int mValue; // 值 public Circl...原创 2019-03-01 13:40:10 · 506 阅读 · 1 评论 -
Android 自定义下拉刷新列表
1. 自定义ListView自定义CListView继承ListView,实现AbsListView.OnScrollListener接口。CListView添加CListViewHeaderView作为表头,使用表头显示状态,在加入表头以后列表的数量是Adapter的数量加上1。CListView捕捉手势操作,监听滚动事件并设置刷新事件。public class CListView ex...原创 2019-03-01 13:31:35 · 1384 阅读 · 1 评论 -
Android GestureDetector详解
1. 事件监听的方法在android应用层上主要有两个层面的触摸事件监听,一个是Activity层,另一个是View层。方法主要有三种:第一是Activity中重写父类中的public boolean onTouchEvent(MotionEvent event)方法;@...转载 2019-03-01 13:24:46 · 9136 阅读 · 1 评论 -
Android AlertDialog类
1. 创建AlertDialogAlertDialog继承Dialog类,是系统自带的对话框。AlertDialog.Builder提供了setTitle(),setIcon()和setMessage()来创建。new AlertDialog.Builder(this) .setTitle(&amp;quot;标题&amp;quot;) .setIcon(R.mipmap.ic_launcher...原创 2019-02-13 11:26:57 · 4288 阅读 · 1 评论 -
Android PopupWindow类
1. 创建弹窗PopupWindow就是弹出窗口的意思。private PopupWindow createPopupWindow() { PopupWindow popupWindow = new PopupWindow(this); // 设置宽度 popupWindow.setWidth(ViewGroup.LayoutParams.MATCH_PARENT);...原创 2019-02-13 10:12:58 · 1619 阅读 · 1 评论 -
Android Toast类
1. 默认创建Toast是一种简易的消息提示框,toast提示框不能被用户点击,会根据用户设置的显示时间后自动消失。Toast静态方法makeText(),生成Toast实例,并调用show()方法来显示。Toast.makeText(Context context, CharSequence text, int duration)Toast.makeText(Context contex...原创 2019-02-12 17:31:16 · 3709 阅读 · 1 评论 -
Android 事件分发
1. MotionEvent事件在MotionEvent操作里有多种手势,常用手势有ACTION_DOWN,按下ACTION_UP,抬起ACTION_MOVE,移动ACTION_CANCEL,取消所有的操作都会在Activity、View和ViewGroup中处理。在View和Activity中,有两个方法dispatchTouchEvent(MotionEvent)和onTou...原创 2019-02-12 16:33:13 · 180 阅读 · 1 评论 -
Android 自定义组合控件
前言我们会用到一些小的自定义控件,例如一个图标和一个字符的组合。虽然我们可以使用drawableLeft属性能实现这一功能,但在实际中往往不能满足需要,例如我们希望图标和字符能实现不一样的点击事件。1. 两种常用的方式布局文件view_group_one.xml,一个线性布局,包含ImageView和TextView。 <?xml version="1.0" encoding=...原创 2019-02-12 15:08:24 · 360 阅读 · 1 评论 -
Android ViewFlipper类
1. 简单应用ViewFlipper继承ViewAnimator,用于视图的轮播。android:flipInterval指定轮播间隔时间android:autoStart是否自动开始轮播android:inAnimation指定进入时动画android:outAnimation指定退出时动画资源文件&amp;lt;ViewFlipper android:layout_width...原创 2019-02-12 11:18:09 · 678 阅读 · 1 评论 -
Android ViewSwitcher控件
#1. 简单用法ViewSwitcher继承ViewAnimator,主要用于视图的切换。ViewSwitcher重写了addView(View, int, ViewGroup.LayoutParams)方法,使其子控件不超过2个。@Overridepublic void addView(View child, int index, ViewGroup.LayoutParams param...原创 2019-02-12 10:56:27 · 5003 阅读 · 1 评论 -
Android Chronometer控件
1. Chronometer类Chronometer是一个简单的计时器。主要配置format,显示格式,默认是&amp;quot;MM:SS&amp;quot;或&amp;quot;H:MM:SS&amp;quot;,以%s来格式化。countDown,是否倒计时,与base时间相比较主要方法start,开始计时stop,停止计时setBase,设置计时基准时间setFormat,设置显示格式原创 2018-11-13 15:36:49 · 10737 阅读 · 1 评论 -
Android Clock控件
1. AnalogClock模拟时钟属性配置dial,表盘背景hand_hour,时针图片hand_minute,秒针图片效果如下,AnalogClock添加了对时间事件的监听@Overrideprotected void onAttachedToWindow() { super.onAttachedToWindow(); if (!mAttached) {...原创 2018-11-12 17:23:01 · 2222 阅读 · 1 评论 -
Android Picker控件
1. DatePicker是日期选择控件DatePicker属性startYear,允许选择的第一年endYear,允许选择的最后一年calendarViewShown,是否显示Calendar组件spinnersShown,是否显示Spinners组件设置起始年和最终年。&amp;amp;amp;amp;lt;DatePicker android:layout_width=&amp;amp;amp;quot;match_pare原创 2018-11-12 11:06:02 · 2225 阅读 · 1 评论 -
Android ViewStub控件
前言使用ViewStub可以实现界面的延迟加载。1. ViewStub简单应用(1) 布局文件layout为加载View,inflatedId为加载后View的id。&amp;lt;ViewStub android:id=&quot;@+id/view_stub&quot; android:layout_width=&quot;match_parent&quot; android原创 2018-10-17 10:44:23 · 556 阅读 · 1 评论 -
Android ViewPager控件
前言ViewPager可以实现多个界面的左右滑动。1. ViewPager简单应用(1) 布局文件&amp;amp;lt;android.support.v4.view.ViewPager android:id=&amp;quot;@+id/view_pager&amp;quot; android:layout_width=&amp;quot;match_parent&amp;quot;原创 2018-10-16 17:36:08 · 5554 阅读 · 1 评论 -
Android WebView控件
前言WebView主要用来显示网页,采用Webkit内核。1. 访问网页(1) 添加权限&amp;amp;lt;uses-permission android:name=&amp;quot;android.permission.INTERNET&amp;quot;/&amp;amp;gt;(2) 布局文件&amp;amp;lt;WebView android:id=&amp;原创 2018-10-10 15:53:40 · 466 阅读 · 1 评论 -
Android ListView滚动条
转载来源:http://blog.csdn.net/ccpat/article/details/50805129前言自定义ListView滚动条可以直接在布局文件中对ListView进行配置。1. scrollbars此选项表示是否显示滚动条,它的取值可以是vertical,horizontal或none。对ListView来说,它只能垂直滚动,将scrollbars设置成horizon...转载 2018-10-10 14:14:31 · 3184 阅读 · 1 评论 -
Android measure方法详解
相关文章Android measure方法详解Android 自定义布局1. MeasureSpec类MeasureSpec用来计算子视图的大小,有三种类型,UNSPECIFIED、EXACTLY和AT_MOST。UNSPECIFIED表示未定义,即父控件未做限制,可以为任何值,一般设置为0。EXACTLY表示实际值,即父容器已经指定了具体的值。AT_MOST表示父容器提供了最大值...原创 2018-10-10 13:30:37 · 5470 阅读 · 1 评论 -
Android 自定义流式布局
相关文章Android measure方法详解Android 自定义布局前言自定义布局FlowLayout实现了界面的流式布局,子控件水平排列,直到排满后换行显示。FlowLayout需要继承ViewGroup类,覆盖onMeasure和onLayout的方法。1. 自定义LayoutParams为了控制子控件的布局,自定义LayoutParams类,设置对齐方式。public s...原创 2018-10-10 13:27:01 · 1506 阅读 · 1 评论 -
Android 自定义控件属性赋值
相关文章Android 自定义控件属性Android 自定义控件属性format详解Android 自定义控件属性赋值1. 自定义属性(1) attrs.xml文件在AttrAssignView中定义了5个属性,并且定义了一个单独的attrAssignStyle,用于后面的定义。&amp;amp;amp;amp;amp;lt;declare-styleable name=&amp;amp;amp;amp;quot;AttrAssignView&am原创 2018-10-09 17:44:04 · 1911 阅读 · 1 评论 -
Android 自定义控件属性format详解
相关文章Android 自定义控件属性Android 自定义控件属性format详解前言在自定义属性时,需要在declare-styable节点下添加attr,名称以name定义,类型以format定义。1. format取值reference,引用值color,颜色值boolean,布尔值dimension,尺寸值float,浮点值integer,整型值string,字...原创 2018-10-09 15:56:01 · 1521 阅读 · 1 评论 -
Android 自定义控件属性
相关文章Android 自定义控件属性前言自定义控件经常需要一些特殊的配置,添加一些自定义属性。1. 自定义属性(1) attrs.xml文件所有自定义属性需要在文件中添加declare-styleable节点来声明,定义属性background_color设置背景色。&amp;amp;amp;amp;lt;declare-styleable name=&amp;amp;amp;quot;AttrDeclareView&amp;am原创 2018-10-09 14:47:43 · 3921 阅读 · 1 评论 -
Android RelativeLayout布局
1. RelativeLayout类相对布局(RelativeLayout)将子视图以相对位置显示。默认显示在父视图的左上角。layout_alignParentTop,父视图的上边layout_alignParentBottom,父视图的下边layout_alignParentLeft,父视图的左边layout_alignParentRight,父视图的右边设置4个子视图在...原创 2018-08-24 17:22:45 · 35747 阅读 · 2 评论 -
Android LinearLayout布局
1. LinearLayout类线性布局(LinearLayout)将子视图元素以线性方式显示。主要属性orientation,horizontal代表水平方向,vertical代表垂直方向weight,按一定比例分配。计算完剩余视图后,按比例分配。最外层LinearLayout为垂直布局,而第一个子控件时水平布局,最后三个子控件按1:2:3分配高度&amp;amp;amp;amp;amp;lt;LinearLay...原创 2018-08-24 16:43:46 · 3135 阅读 · 1 评论 -
Android Spinner控件
1.Spinner类Spinner类提供了一个下拉列表。常用参数entries,指定加载数据spinnerMode,指定显示方式,dropdown是下拉菜单,dialog是弹出框prompt,指定弹出框标题 界面UI&amp;amp;amp;amp;lt;Spinner android:id=&amp;amp;amp;quot;@+id/spinner1&amp;amp;amp;quot; a原创 2018-08-24 15:24:10 · 2078 阅读 · 1 评论 -
Android ListView控件
1. ListView类ListView的主要属性stackFromBottom,设置为true时,内容将从底部开始显示cacheColorHint,设置为#00000000透明时,可以避免拖动时背景显示黑色的问题divider,设置分割线,#00000000或@null分割线被隐藏fadingEdge,设置为none,去除上边和下边的阴影scrollbars,设置为none,隐...原创 2018-08-24 14:16:58 · 530 阅读 · 1 评论 -
Android RatingBar控件
1. RatingBar类RatingBar类用于显示星条。主要属性numStars,指定星星个数rating,指定默认点亮的星星星星个数stepSize,指定步进数,1,0.5是常用值通过setOnRatingBarChangeListener的回调方法实现RatingBar的拖动事件。onRatingChanged,进度发生改变时会触发 定义一个RatingBa...原创 2018-08-24 09:44:29 · 1945 阅读 · 1 评论 -
Android SeekBar控件
# 1. SeekBar类SeekBar类是滑动条,用于进度控制。主要属性max,指定滑动条的最大值 progress,指定滑动条的当前值通过setOnSeekBarChangeListener的回调方法实现SeekBar的拖动事件onProgressChanged,进度发生改变时会触发 onStartTrackingTouch,按住SeekBar时会触发 onSto...原创 2018-08-23 18:32:25 · 29578 阅读 · 1 评论 -
Android ProgressBar控件
1. ProgressBar类ProgressBar用于显示进度条,进度条有两种不同的样式,选择和水平,通过设置style来区分。(1) 旋转进度条,有大、中、小三种样式。style=&amp;quot;?android:attr/progressBarStyleSmall&amp;quot; style=&amp;quot;?android:attr/progressBarStyleSmallInverse&amp原创 2018-08-23 17:58:41 · 2638 阅读 · 1 评论 -
Android Switch和ToggleButton控件
1. Switch类Switch类被用来展示状态。android:checked设置是否打开 自定义Switch,android:track设置背景android:thumb设置选择背景android:switchMinWidth设置宽度背景文件switch_track.xml&amp;amp;amp;amp;amp;lt;?xml version=&amp;amp;amp;amp;quot;1.0&原创 2018-08-17 17:49:52 · 3473 阅读 · 1 评论 -
Android RadioButton和CheckBox控件
1. RadioButton类RadioButton继承CompoundButton,是单选按钮。 android:checked设置按钮是否选中。用setOnCheckChangeLinstener来对单选按钮进行监听。 RadioButton选择以后不能取消,主要是它覆盖了toggle方法,使其在被选中后无法取消。但可通过setChecked()方法取消。public clas...原创 2018-08-17 17:03:14 · 2133 阅读 · 1 评论 -
Android Span应用
1. SpannableStringSpannableString和SpannableStringBuilder都继承了Spannable接口。区别在于SpannableString在初始化内不能改变内容,而SpannableStringBuilder可以。使用setSpan(Object what, int start, int end, int flags)方法来设置样式。wha...原创 2018-08-17 15:14:43 · 1499 阅读 · 1 评论 -
Android EditText控件
1. 常用属性EditText控件用于获取用户的输入。EditText类继承TextView类,能使用TextView的所有常用属性。可参考Android TextView控件。android:hint设置EditText内容为空时显示的文本android:textColorHint设置hint的字体颜色android:editable设置是否可编辑android:password...原创 2018-08-17 13:05:15 · 6955 阅读 · 1 评论