# 标签

View

共 118 篇文章

ContextMenu:上下文菜单
Android

ContextMenu:上下文菜单

ContextMenu:上下文菜单在Activity中长按某个View会弹出一个菜单,类似Windows上右键弹出的菜单。在Activity中只需要实现已有的几个空方法即可自定义上下文菜单:onCreateContextMenu、onContextItemSelected、onContextMenuClosed。不同的手机系统,显示样式和特性稍有差异。1、ContextMenu传统Menu的上下文

1.8k
Android

Bitmap加载选项:BitmapFactory.Options

Bitmap加载选项:BitmapFactory.Options1、BitmapFactory.OptionsBitmapFactory.Options是BitmapFactory加载Bitmap用到的选项配置,用于解码Bitmap的时设置各种参数选项。BitmapFactory的使用参考BitmapFactory详解。2、重要属性BitmapFactory.Options类有很多public成员

1.8k
Android

Android Drawable

Android Drawable安卓开发中经常用到Drawable设置View的背景,那只是最基本的用法,Drawable可远不止这些,现在就来系统的学习一下Android Drawable系列。1、DrawableDrawable官方定义是“可以绘制的东西”的一般抽象概念。框架中有非常多的Drawable派生类,方便开发者使用:ShapeDrawable、StateListDrawable、La

1.9k
Toast:前后台弹出Toast不一致?
Android

Toast:前后台弹出Toast不一致?

Toast:前后台弹出Toast不一致?Toast不用再多说了,Android中非常常见的轻量级提醒。用法很简单,但是周末无意中发现一个Toast提示信息和实际代码中的不一样。难道自己又遇到“玄学”问题了?1、Toast源码正常弹出Toast很简单,一行代码的事情。源码如下,第二个参数CharSequence text就是设置Toast显示的文字信息。2、实际Toast但是发现弹出的和显示的不一样

1.8k
AppWidgetProvider:桌面小挂件
Android

AppWidgetProvider:桌面小挂件

AppWidgetProvider桌面挂件是能直接在桌面上操作的应用入口,通过AppWidgetProvider实现。涉及到RemoteViews和PendingIntent等技术点,这两个参考PendingIntent初识和RemoteView。1、AppWidgetProvider查看AppWidgetProvider的源码发现,AppWidgetProvider的本质就是四大组件之一的Bro

2.6k 1
RemoteView:远程View
Android

RemoteView:远程View

RemoteView:远程ViewRemoteViews,顾名思义,就是远程的View,也就是可以运行在其他进程中的View。RemoteViews常用在Notification和桌面小组件AppWidgetProvider中。Google官方文档:RemoteViews1、支持的组件RemoteViews不支持所有的View类型,也不支持自定义View。ViewGroup:FrameLayout

2.0k
View跟手移动
Android

View跟手移动

View跟手移动经常会遇到用手指拖动控件移动的情况。看似高大上的效果其实很简单,就是根据触摸MotionEvent事件设置View的位置。关键代码就是在onTouchEvent中去更新设置View的位置。Android提供了简单的方法:setTranslationX() 和setTranslationY() 。对于极少极少部分Android3.0以前的版本,可以通过nineoldandroids动

1.9k
Android

GestureDetector:手势检测

GestureDetector:手势检测屏幕手势判断略复杂且都是重复工作,好在Android提供了通用的检测手势类GestureDetector,只需要将触摸事件MotionEvent传递给onTochEvent()方法,再由程序员自己实现对应监听方法的具体实现,GestureDetector会自动判断当前触摸手势类型:down,up,scroll,filing等。1、监听接口使用GestureD

1.6k
VelocityTracker:计算滑动速率
Android

VelocityTracker:计算滑动速率

VelocityTracker:计算滑动速率速度追踪,计算在手机屏幕上滑动速度,无论是水平还是垂直的速度。Android已经为我们提供了一个类VelocityTracker,借助VelocityTracker可以很方便的计算触摸屏幕的滑动速度。获取VelocityTracker,很简单,通过VelocityTracker类的静态方法obtain()获取。 从源码可以看到是维护了一个Velocity

2.5k
WebView报错: Error inflating class android.webkit.WebView
Android

WebView报错: Error inflating class android.webkit.WebView

WebView报错: Error inflating class android.webkit.WebView正常在布局中添加了一个WebView控件。关于WebView的使用参考《WebView简单入门》一文。运行的时候竟然奔溃,报错:... ...Error inflating class android.webkit.WebView查看Google 官方文档,有下面一句说明: ”当 Enab

2.2k
Android TabLayout标题
Android

Android TabLayout标题

Android TabLayout标题Tab标题也是Android应用中常见的UI,比如今日头条新闻页面上的切换Tab。Tab切换控制通常是个ViewPager一起使用,通过点击Tab页面不同的标签,控制ViewPager显示不同的页面。1、PagerTabStrip(不推荐)结合PagerTabStrip,可以添加标题,只需要在ViewPager布局内嵌套PagerTabStrip即可,不需要设

1.9k
Android对话框:Dialog
Android

Android对话框:Dialog

Android对话框:Dialog对话框在Android开发中使用频率很高,各种弹框及数据选择输入,比如:时间选择器:DatePicker和TimePicker默认的Dialog什么也没有,一般使用它的派生类AlertDialog,或者MaterialDialog。1、AlertDialogAlertDialog比较常用,通过AlertDialog.Builder创建AlertDialog对话框并

2.2k
Fragment碎片用法
Android

Fragment碎片用法

开发者>文档>指南>Fragment">Fragment碎片用法Fragment是一种可以嵌入在活动中的UI片段,能够让程序更加合理和充分地利用大屏幕的空间,出现的初衷是为了适应大屏幕的平板电脑,可以将其看成一个小型Activity,又称作Activity片段。Fragment依赖于Activity,不能独立存在一个Activity可以有多个Fragment一个Fragment可以被多个Activ

2.2k
ConstraintLayout 构建自适应界面
Android

ConstraintLayout 构建自适应界面

ConstraintLayout 从Android API 9以后Google推出了ConstraintLayout,而且从Android Studio 2.3 起,默认布局就是ConstraintLayout。 1、ConstraintLayout主要是为了解决布局嵌套过多的问题,以灵活的方式定位和调整小部件。RelativeLayout 也可以解决多层嵌套问题,但是ConstraintLayo

2.6k
Android百分比布局PercentLayout
Android

Android百分比布局PercentLayout

Android百分比布局PercentLayout百分比布局已经不怎么常用了,现在官方力推用ConstraintLayout构建自适应界面 ,解决屏幕适配的问题。但是PercentLayout有时候还是有用武之地的,尤其是在适配屏幕大小不一,使用比例放缩分配布局。比起LinearLayout使用权重适应屏幕来说,PercentLayout是个不错的选择。1、引入PercentLayout使用百分比

1.6k