每一个ViewGroup(例如LinearLayout, RelativeLayout, CoordinatorLayout, etc)需要存储有关其孩子view的属性信息。它的孩子view被放在ViewGroup,这些位置信息存储在一个包装类viewgroup.layoutparams对象中。
这次跟大家介绍怎么简单的实现类似QQ消息Item的左右滑动菜单的实现。首先见效果图先:
LayoutParams主要保存了一个View的布局参数,因此可以使用LayoutParams来改变布局参数从而达到View位置的效果,一般在自定义View的时候使用。
最终效果图 最终效果图 前言 这里用VideoView写一个播放器, 可以横竖屏, 可以选文件, 可以暂停, 可以快进后退, 可以进度条拖动, 可以触屏调节音量. 来看看怎么实现的吧! 布局文件
CoordinatorLayout继承自FrameLayout,并且实现了NestedScrollingParent2接口用于接收嵌套滑动的事件。并且内部定义了一套Behavior机制,以供所有的子View可以通过Behavior的方式来达到共同参与嵌套滑动的目的。
public class MyView extends View { int lastX; int lastY; Scroller mScroller; public MyView(Context context, AttributeSet attributeSet){ super(context, attributeSet); mScroller = new Scroller(context); } //6、2 属性动
同时MarginLayoutParams extends LayoutParams 也作为ViewGroup类里面的静态内部类
介绍一个带加载功能的按钮控件的实现原理,加载动画来自于CircularProgressDrawable
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gdutxiaoxu/article/details/71616547
本文实例为大家分享了Android下拉顶部图片缩放效果展示的具体代码,供大家参考,具体内容如下
今天已经是这个星期连续加班的第四天了,趁着现在后台在处理逻辑问题,将前几天写的一个小例子整理下来。
1. 背景 一个新版本的代码,在4.x版本进入某个页面的时候,必现crash。看到必现,心情就放松了一半。 大致的crash信息如下: FATAL EXCEPTION: main java.lang.ClassCastException: android.support.v4.view.ViewPager$LayoutParams cannot be cast to android.widget.AbsListView$LayoutParams at android.widget.ListView.se
RecyclerView的滚动事件OnScrollListener研究 http://www.open-open.com/lib/view/open1477623086381.html
View.getDrawingCache() 只适用于分享的View已经完整展示在用户的屏幕上,还有种情况是需要转化为bitmap的布局没有显示,而需要我们在后台生成btmap,我们只需要获取到屏幕的宽高在view生成图片的时候传进去即可,否则会报空指针的
前篇文章说过,Android框架还提供了两种动画体系,前一篇已经总结了视图动画(View Animation)的用法,本篇则接着总结另一种动画体系——属性动画(Property Animation)的用法。
前言 在其他App上看到了这样的一个效果,感觉有点意思,于是决定实现一个类似的效果。 (其实是iOS的同学在是现功能的时候秀了一波操作) 效果大概是这样子的: 下拉放大 UI看完后 “这个效果不
【本文原创,转载请注明出处】 实际效果: 📷 实现思路: 结合 RecyclerView 实现,横向可拖动 Tab 导航栏。 使用方法: 第一步:一些成员变量: private RecyclerView mHorizontalSpeciesRecycler; private TextView tv[] = new TextView[10];//用于记录选择了哪个种类商品 灰色变红色 private int i = 0; private String index = "name
上一张,简单说明了 AutoAttr类的方法, 以及子类的实现,以及子类实现分类和理解 这里再简单补充一下
上回书说到Android动画的分类以及基本使用,这会书主要说Android属性动画的原理,对于View动画的原理本篇不做深入分析。对于Android动画的基础请看深入分析Android动画(一)
简单介绍一下这个控件,像我们在实际的开发过程中,经常性的会遇到这样的场景,比如进入一个页面先出来加载动画,然后请求数据,如果网络异常就显示网络异常的布局,数据异常、数据为空也有相应的布局,以及当我们请求成功完毕数据后,根据返回的数据值去区分不同VIP等级的用户显示不同的页面,这里我放了两张图,我的女神,迪丽热巴和俞飞鸿,就当做我们在业务开发中的 Layout ,把布局全部写在 xml,然后控制显示隐藏就有点不优雅了,基于这个问题,就有了这个控件。
在Android开发中比较头疼的是Android的分辨率问题,那么这里给大家介绍个万能办法,这个办法的优点是可以实现万能适应,给开发和美工设计提供了依据,但是对开发来说代码量也不少,具体办法:
使用RecyclerView的过程中,由于设置了LayoutManager的关系,控件(的background)往往不能通过指定长宽为match_parent、wrap_content来实现长宽大小相同。
应用详情安全界面 DetailSafeHolder public class DetailSafeHolder extends BaseHolder<AppInfo> implements OnC
今天分享一个以前实现的通讯录字母导航控件,下面自定义一个类似通讯录的字母导航 View,可以知道需要自定义的几个要素,如绘制字母指示器、绘制文字、触摸监听、坐标计算等,自定义完成之后能够达到的功能如下:
我们先看一个效果,问题说的就是中间的Grid效果在Scrollview 嵌套recyclerview显示问题,在Android Api 24是好的,不过在5,1,1版本(api 22)缺出现了问题 最
音量及屏幕亮度调节 屏幕亮度调节 /** * 滑动改变亮度 * @param percent */ private void onBrightnessSlide(float percent) { if (mBrightness < 0) { // mBrightness是当前屏幕的亮度 mBrightness = getWindow().getAttributes().screenBrightness; if (mBrightness <= 0.00f) mBrightness = 0
一个简单的自定义view。在里面封装了时间的倒计时,以及距离现在时间的时间计算 public class TimerTextView extends LinearLayout{ // 时间变量 private long second; private TextView tv_Time; private TextView tv_Unit; RefreshCallBack refreshCallBack; public TimerTextView(Context context, AttributeSet at
因为网络请求的时间一般是未知的,所以我们一般都是用一个循环的圆圈指示器来提示用户,如下图。
public class CustomCompoundButton extends CompoundButton {
本文实例讲述了Android编程使用LinearLayout和PullRefreshView实现上下翻页功能的方法。分享给大家供大家参考,具体如下:
我想大家在开发过程中都碰到过这样的需求,类似标签展示,要展示如上图效果,这里面的数据不确定每项字数,有的非常长,有的很短,数据动态填充。
最近在一个项目中,需要制作录屏的功能,原先是在应用中有录屏/控制的按钮,思考之下觉得这种效果并不好,因此就想制作一个可以悬浮的悬浮窗,这样不论手机在什么界面中都可以对录屏功能进行控制。
在上一篇博文中,我们实现了仿美团的下拉刷新。而今天的主题还是与 ListView 有关,这次是来实现具有视差效果的 ListView 。
第一部分:沉浸式状态栏(API-Level 19, Android4.4 KitKat 之后加入的东西),而且在Api-Level 21版本中新增了一个属性(下面会说到)。所以,style文件应该声明三份。
前言 这次的饼图和之前写过的都不太一样。主要是饼图的旋转是通过Button去触发,被选中的某块需要平移出来。 好了,先看一下效果图 旋转的卡顿是模拟机的原因,真机是没问题的♪(∇*) 自定义View
此处继承了 RecyclerView.ItemDecoration 类 , 重写了 getItemOffsets 方法 ,
在日常开发的过程中,同学们都遇到过需要RecyclerView无限循环的需求,但是在官方提供的几种LayoutManager中并未支持无限循环。
大家好,今天我为大家介绍一下如何在Android系统下实现实时直播互动中的多视频展示功能。 我们现在都清楚实时直播互动中多路视频的展示是目前比较流行的趋势,因为大家都想看到更多视频画面的需求,是非常符合人类的习惯的。
本篇文章主要介绍了Android 简单实现一个流式布局的示例,分享给大家,具体如下:
Snackbar 常以一个小的弹出框的形式,出现在手机屏幕下方或者桌面左下方,并且是在屏幕所有层的最上方。如果要指定它在屏幕出现的位置,可以把SnackBar放置在android.support.design.widget.CoordinatorLayout内。
相对于Android2.x版本中常见的长按、点击操作,滑动的方式具有更友好的用户体验性。因此从4.x的版本开始,滑动操作大量出现在Android系统中。
概述 在android应用开发过程中,固定的一些控件和属性可能满足不了开发的需求,所以在一些特殊情况下,我们需要自定义控件与属性。而自定义控件通常有两种:自定义View和自定义ViewGroup。 V
国庆的一个任务就是把自己之前写的代码搬到博客。这次给各位带来的是通过滑动来动态改变各个View的大小进而达到企鹅FM播放页面的滑动效果(仅仅是滑动效果),老规矩看图先:
代码如下: //动态设置listView的高度 ListAdapter listAdapter = listView.getAdapter(); if (listAdapter == null) { return; } int totalHeight = 0; for (int i = 0; i < listAdapter.getCount(); i++) { Vie
VerticalBannerView是一个仿淘宝APP首页轮播头条的自定义控件。
以下代码改变TextView的margin和CENTER_HORIZONTAL属性。
ViewPager导航页面可以自己定义adapeter,这里使用一种开源框架:ultraviewpager
我们常用的linearlayout,等都属于流布局,在流布局中如何移动控件呢? 我决定做个尝试。虽然可以使用绝对布局,但我不倾向使用这个布局。那么看看我的方式吧。
本文实例为大家分享了Android仿QQ可拉伸头部控件的具体实现代码,供大家参考,具体内容如下
一个关于 imageView 设置 scaleType 的问题。 就在刚才 晚上9 点多的时候,我的一个外包伙伴发一个工程代码我,叫我去看下这样一个"bug",说折腾了很久,图片选择器在选择完
领取专属 10元无门槛券
手把手带您无忧上云