首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android原生侧滑控件DrawerLayout使用方法详解

androidv4包中有一个控件 Drawerlayout,主要实现了左拉和右拉菜单,类似于之前“抽屉”功能,此控件使用简单,效果很柔和,操作起来体验非常好,下面是实现一个简单效果部分截图:...是不是平时开发应用很常见?OK,那么接下来直接上代码: activity_sliding.xml: <?xml version="1.0" encoding="utf-8"?...RelativeLayout </android.support.v4.widget.DrawerLayout 通过上面的布局文件我们发现 drawerlayout布局分为content、...和onDrawerSlide事件处理,以便于开发者滑动过程自定义要处理一些操作。...最后检查一下你AS是不是最新版,如果不是的话,则需要在build.gradle增加以下配置: compile ‘com.android.support:appcompat-v7:24.2.1’

4.3K00
您找到你想要的搜索结果了吗?
是的
没有找到

Android动态布局使用详解

本文为大家分享了Android动态布局实现代码,供大家参考,具体内容如下 ?...内容如下:介绍多种实现动态布局方法,以及如何用代码来调整View位置 这里只介绍三种布局情况(注意不是方式) 1、无xml : 一个父类布局包含一个子父类布局,子父类布局包含ImageView 2、...()找到要进行添加布局控件 之后步骤和无xml布局2、3、4一样 代码如下: 1、无xml : 一个父类布局包含一个子父类布局,子父类布局包含ImageView RelativeLayout relativeLayout...); rl.setGravity(RelativeLayout.CENTER_IN_PARENT); //设置imageView rl位置为居中 rl.addView(imageView,..." </LinearLayout 是不是很简单啊,了解到原理后对以后一些需要动态变化布局操作起来就十分方便了。

1.7K20

Android应用优化之流畅度实操

为什么要先看过度绘制问题,因为直接直观方便啊,每一台手机开发者选项里打开显示过度绘制区域,通过颜色我们就能辨别我们App是不是存在过度绘制问题。...拿到UI Tree之后,我们主要分析以下三个问题:(用一个简单Demo来分析) 【问题1】没有用布局 使用Hierarchy Viewer查看我们UI Tree,如发现红框RelativeLayout...,每一个错误都有非常清晰描述,你应该如何去改,右边箭头,程序帮我们直接定位到错误代码地方,是不是非常方便!...线程策略主要用于检测UI线程是否存在读写磁盘操作,是否网络请求操作,以及检查自定义代码是否UI线程执行得比较慢情况 自定义耗时调用 使用detectCustomSlowCalls()开启 磁盘读取操作...流畅度优化经验总结 最后来总结一下通篇对流畅度优化上经验: UI布局优化 使用LinearLayout代替RelativeLayout,因为LinearLayout性能上稍微好一点 如果复杂布局

1.2K30

Android实现图片滚动和页签控件功能实现代码

正所谓一通百通,真正掌握一种方法之后,就可以使用这个方法变换出各种不通效果。 今天仍然还是实现一个自定义控件,然后我们在任意Activity布局文件引用一下,即可实现图片滚动器效果。...*/ private VelocityTracker mVelocityTracker; /** * 重写SlidingSwitcherView构造函数,用于允许XML引用当前自定义布局。...,还是重用了很多之前代码,这里几个重要点我说一下。...然后看一下布局文件如何使用我们自定义这个控件,创建或打开activity_main.xml,里面加入如下代码: <LinearLayout xmlns:android="http://schemas.android.com...没关系,在后面的一篇文章补充了自动播放这个功能,而且不仅仅是自动播放功能喔,请参考 Android使用自定义属性实现图片自动播放滚动功能。 今天文章就到这里了,问题朋友请在下面留言。

1.8K10

Android实现图片滚动控件,含页签功能,让你应用像淘宝一样炫起来

正所谓一通百通,真正掌握一种方法之后,就可以使用这个方法变换出各种不通效果。 今天仍然还是实现一个自定义控件,然后我们在任意Activity布局文件引用一下,即可实现图片滚动器效果。...*/ private VelocityTracker mVelocityTracker; /** * 重写SlidingSwitcherView构造函数,用于允许XML引用当前自定义布局...,还是重用了很多之前代码,这里几个重要点我说一下。...然后看一下布局文件如何使用我们自定义这个控件,创建或打开activity_main.xml,里面加入如下代码: <LinearLayout xmlns:android="http://schemas.android.com...没关系,在后面的一篇文章补充了自动播放这个功能,而且不仅仅是自动播放功能喔,请参考 Android图片滚动,加入自动播放功能,使用自定义属性实现,霸气十足!

11410

Android实现图片滚动控件,含页签功能

正所谓一通百通,真正掌握一种方法之后,就可以使用这个方法变换出各种不通效果。 今天仍然还是实现一个自定义控件,然后我们在任意Activity布局文件引用一下,即可实现图片滚动器效果。...*/ private VelocityTracker mVelocityTracker; /** * 重写SlidingSwitcherView构造函数,用于允许XML引用当前自定义布局...,还是重用了很多之前代码,这里几个重要点我说一下。...然后看一下布局文件如何使用我们自定义这个控件,创建或打开activity_main.xml,里面加入如下代码: <LinearLayout xmlns:android="http://schemas.android.com...没关系,在后面的一篇文章补充了自动播放这个功能,而且不仅仅是自动播放功能喔,请参考 Android图片滚动,加入自动播放功能,使用自定义属性实现,霸气十足!

1.6K100

Android滑动菜单框架完全解析,教你如何一分钟实现滑动菜单特效

之前文章最后也提到了,如果是你应用程序中有很多个Activity都需要加入滑动菜单功能,那么每个Activity都要写上百行代码才能实现效果,再简单滑动菜单实现方案也没用。...没错,基本上这些代码和之前那篇文章代码大同小异,只不过以前这些代码是写在Activity里,而现在我们移动到了自定义View当中。 接着来说明一下和以前不同部分。...因此在这里我们也可以看出,使用SlidingLayout这个布局前提条件,必须为这个布局提供两个子元素,第一个元素会作为左边布局偏移出屏幕,第二个元素会作为右边布局显示屏幕上。...使用自定义布局的话,就可以用简单方式在任意Activity中加入滑动菜单功能,即使你再多Activity也不用怕了,一分钟引入滑动菜单妥妥。...Acitivtylayout引入我们自定义布局,并且给这个布局要加入两个直接子元素。 2. Activity通过setScrollEvent方法,给一个View注册touch事件。

2.1K60

《Monkey Android》第5课之剖析第一个App

给翻译一下就是: 所有App能看到和做都是Activity上。...onCreate 当Activity运行时候,首先会调用这个方法,它里面,需要用setContentView()方法来设置UI布局。 另外,布局各种控件,都是在这里初始化。..."wrap_content" android:text="@string/hello_world" /> RelativeLayout用来表示,这个一个相对布局...,了它,就可以引用Android给我们提供好控件属性; layout_width表示布局宽,layout_height表示布局高,3种值:match_parent撑满父布局,wrap_content...下课 学习了本节课程,相信一定能够大致懂得第一个App里面不同文件作用,为自己写出代码作铺垫。 什么问题请在下面留言评论,我们一起进步!

45420

Android Fragment 使用

大家好,又见面了,是全栈君 自从Fragment出现,曾经段时间,感觉大家谈什么都能跟Fragment谈上关系,做什么都要问下Fragment能实现不~~~哈哈,是不是有点过~~~ 本篇博客力求为大家说明...步骤: 1、继承Fragment,重写onCreateView决定Fragemnt布局 2、Activity声明此Fragment,就当和普通View一样 下面展示一个例子(使用2个Fragment..." android:layout_height="fill_parent" /> 是不是把Fragment当成普通View一样声明...Activity布局文件,然后所有控件事件处理等代码都由各自Fragment去处理,瞬间觉得Activity好干净~~代码可读性、复用性以及可维护性是不是瞬间提升了~~~下面看下效果图:...a、比如:FragmentAEditText填了一些数据,当切换到FragmentB时,如果希望会到A还能看到数据,则适合你就是hide和show;也就是说,希望保留用户操作面板,你可以使用

44120

Android编程实现ListViewitem部分区域添加点击事件功能

本文实例讲述了Android编程实现ListViewitem部分区域添加点击事件功能。...分享给大家供大家参考,具体如下: 需求如题目:Android listviewitem部分区域添加点击事件,一个界面显示了listview,但显示内容分为上下两部分,分别是白色背景和蓝色背景,...现在需要只点击蓝色背景,才能跳转到其他界面,解决方式如下: 一开始想着是不是能在list item布局给上层布局添加一个: android:clickable="false" android:focusable...="false" 就是禁止点击,但试了试没有效果,后来师傅提醒这个listview使用适配器是BaseAdapter可以适配器里面拿到下层蓝色Relativelayoutid,然后给这个布局添加点击事件...,就可以实现部分区域响应事件,事实证明是非常可行,贴出主要代码如下: // 开仓单适配器 public class OrderAdapter extends BaseAdapter { public

83610

屏幕旋转时调用PopupWindow update方法更新位置失效问题及解决方案

使用场景如下:一个 Activity 监听屏幕旋转事件,Activity主布局文件中有个按钮点击弹出一个 PopupWindow,另外在主布局文件中有个 ListView。...看了上面的效果图,再来看看简单布局实现和Activity代码实现 Activity主布局文件如下 <RelativeLayout xmlns:android="http://schemas.android.com...当然一开始肯定要不停尝试新写法,看看是不是布局文件本身什么问题。如果怎么尝试都解决不了时候,这个时候可能已经踩到系统坑了,可是怎么确定?去看看源码,然后调试一下看看。...但是这个时候还是要坚信代码里面存在真理,它不会骗人。这里其实可以靠猜,是不是可能存在调用了多次update,本来设置好又被其他地方调用update给覆盖了。...但是猜是靠经验,一般不好猜,还是笨方法吧, update 方法开头打个断点,看看代码怎么执行

1.2K00

Android LayoutInflater(布局服务)

一般Android动态加载布局或者添加控件用得较多,本节我们就来学习下他实际开发 一些用法~ 1.LayoutInflater相关介绍 1)Layout是什么鬼?...又或者设置margin等等,这个由你决定~ 2.纯Java代码加载布局 我们早已习惯了使用XML生成我们需要布局,但是一些特定情况下,我们 需要使用Java代码往我们布局动态添加组件或者布局...但是不建议大家完全地使用Java代码来编写Android页面布局,首先一点就是代码会多, 一多久容易乱,而且不利于业务分离,我们还是建议使用xml来完成布局,然后通过 Java代码对里面的组件进行修改...3.Java代码动态添加控件或xml布局 第二点我们讲解了使用纯Java代码来加载布局,实际当中用得并不多,更多时候是动态 添加View控件以及动态加载XML布局!...="wrap_content" android:layout_height="wrap_content" android:text="是Java代码加载布局"

78110

Android开发之那些好用数据结构与API(二)

Android开发之那些好用数据结构与API 一文中提到了Android中一些好用数据结构和API,这次继续补充几个项目中用到好用是不是人人都知道东东 ~~ 1、android...:digits Android开发,经常要设置EditText为密码显示,但是通常要求密码只能是 **字母和数字 . _ **组合,此时就可以用该属性进行过滤 <EditText...布局 (需要准备一个背景透明提示图片) <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"...setEmptyView.png 注意 经过本人测试,如果ListView包含在某些下拉刷新框架,这样做是没有效果,应该是冲突了。...常见使用场景是某个按钮特别小,为了设置点击事件,给其包裹一层Parent布局,将点击事件写到Parent上,如果希望被包裹按钮点击效果对应Selector继续生效的话,就可以使用它了,来个说服力测试案例

66160

Android性能优化(二)之布局优化面面观

那么本文同样基于实际案例,针对应用布局进行优化进而提升App性能。...贴出这个布局代码(贴出后超过公众号字数限制,可以点击查看原文查看布局代码)。 每一行布局使用RelativeLayout嵌套来做,而且设置了多重颜色。...同样UI效果可以使用不同布局来完成,我们需要考虑使用嵌套层次以及控件个数来完成,例如设置界面的普通一行,可以像之前一样使用RelativeLayout嵌套TextView以及ImageView来实现...一旦这里执行时间过长,就需要检查是不是使用了非官方动画工具或者是检查动画执行过程是不是触发了读写操作等等; Input Handling:表示系统处理输入事件所耗费时间,粗略等于对事件处理方法所执行时间...经过这几步优化之后,一般就不会再有布局性能问题,同时还是要强调:优化是一个长期工作,同时也必须结合具体场景:舍! 参考:Android性能优化典范

85730

ConstraintLayout 使用简介一 背景二 demo三 进一步升级打怪四 更多

同事先尝试了下ConstraintLayout优化布局层次,笔者也使用了下,发现确实比较好用。下面我们一起来试着使用布局吧~~ 二 demo 来看下有个简单布局是这个样子 ?...image.png 其中文字‘金豆’ 左边金色条是居中对齐文字一栏。按传统布局,这个简单布局至少需要三层布局, 垂直方向和 单个水平方向。下面看下使用ConstraintLayout布局。 <?...首先我们看下 要保证垂直方向顺序布局。 如果没使用ConstraintLayout前,需要使用垂直方向LinearLayout 或RelativeLayout。...app:layout_constraintTop_toBottomOf="@+id/golden_beans_tips" 一行代码是不是RelativeLayout类似。...相似的还有垂直方向layout_constraintVertical_bias 恩,ui需求又来了,比较常见的如, 水平三个按钮,想等分水平,这里不再赘述,ConstraintLayout类似LinearLayout

2.4K40

详解Android布局优化

是不是差不多实现了微信一样效果?那么我们怎么来判断以上布局是不是最优呢?当然,我们是工具来查看。相信很多童鞋用过了,第一个就是 Hierarchy View,第二个就是 显示GPU过度绘制。...ContentFrameLayout接点之后就是我们上面XML代码布局了,从上图可以看到,我们布局最多有 5 层,其实你从代码也可以看到是 5 层,那么我们是否能减少以上布局嵌套层次呢?...答案是肯定,废话不多说,我们直接上一份优化过布局代码吧。...我们自己布局过度绘制情况比微信本身情况很大改善,是不是感觉很nice~~。...然后你代码这么使用即可 findViewById(R.id.et_name).setOnClickListener(new View.OnClickListener() { @Override

72130

Android:一个高效UI才是一个拉风UI

我们评判一个UI界面不是认为多复杂才给力,或者说多炫才靠谱,一个简约而又不平凡高效UI界面才是一个灰常牛逼界面设计。 引入 android应用,采用硬编码方式编写界面并不是一个提倡方法。...小结一个:我们设计UI布局时,应该从使用尽量少组件前提下入手,由于系统组件封装比较完善,把多个简单组件交由一个复杂一点组件来实现,是可以得到比较好效率。...我们还记刚开始给一个图吗?我们布局使用到仅仅是一个TextView,而RelativeLayout貌似啥子活儿都没干样子。。。。。。 ?...呼呼呼~~是不是从六层降低到了四层结构,好一股小清新感觉呀,都感觉飘飘然了,自然效率提升是毋容置疑滴。。。。。...小结一个:标签能百分百代替这个布局组件,对于不复杂其他布局组件如线性布局等组合组件,可以继承子类对其属性进行设置后也可以使用标签,<merge

68990

Android 音乐APP(三)播放音乐、自定义进度条、自动下一曲

这个嘛,打算放在下一篇文章再来说明,步步为营,循序渐进。 ① 修改布局   首先要修改这个布局先达到图中效果。 ? 下面附上现在布局代码。...styles.xml增加如下代码: <!...现在的确是播放音乐了,但是也需要暂停啊。 ④ 暂停音乐 底部播放按钮btn_play点击事件中进行处理。...最后播放完成监听方法里面重置这个动画 ? 好了,功能就写完了,下面直接运行吧。 ⑧ 运行效果图 ? 看这个图片是不是那么点意思了呢?...结语 写代码工程逻辑很重要,最好是一气呵成,当你思路被打断,无法集中注意力时,是写不好代码,而文章则是代码写好之后再写,如果有什么问题及时提出来,我会尽快解决。

2K20

得物布局构建耗时优化方案实践

对于 Include 普通布局,逻辑要复杂多。Include 标签本身 AttributeSet 信息,包含布局根节点也有 AttributeSet 信息,应该使用哪个呢?...构建根 View 时候,使用根节点 AttributeSet,但是 View 构建完成后,需要将 Include 标签属性 Android:ID 和 Android:visiablity 属性赋值给根...APT 方式问题 XML 生成代码构建实践过程,我们一开始也是采用掌阅 X2C 方案,在业务代码插入如下注解,用于标记需要转换成 Java XML 文件,各业务模块中注册注解处理器...Java 布局代码使用了很多自定义 View。... Androidx 已经提供了 AsyncLayoutInflater 用于进行 XML 异步加载,在这个类基础上可以封装一个异步预加载工具,但是实际使用下来会发现直接使用 AsyncLayoutInflater

11410
领券